ホームページ > データベース > mysql チュートリアル > LEFT JOIN を使用して複数の MySQL テーブルを更新するにはどうすればよいですか?

LEFT JOIN を使用して複数の MySQL テーブルを更新するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-06 12:37:11
オリジナル
813 人が閲覧しました

How Can I Update Multiple MySQL Tables Using a LEFT JOIN?

MySQL で LEFT JOIN を使用した複数のテーブルの更新

MySQL では、LEFT JOIN を含むさまざまなタイプの結合を使用して複数のテーブルの更新を実行できます。 。ただし、このような更新の構文はわかりにくい場合があります。

LEFT JOIN を使用して複数のテーブルを更新するための構文

LEFT JOIN を使用して複数のテーブルを更新するには、次の構文を使用できます。雇用されている:

UPDATE  t1
LEFT JOIN
        t2
ON      t2.id = t1.id
SET     t1.col1 = newvalue
WHERE   t2.id IS NULL
ログイン後にコピー

この中で構文:

  • t1 および t2 は、更新されるテーブルを表します。
  • LEFT JOIN 句は、条件に基づくテーブル間の関係 (t2.id =この例では t1.id).
  • SET 句は、ターゲット テーブル t1 で更新される列とその新しい値を指定します。 >
  • WHERE 句は、条件に基づいて結合された結果セット内の行をフィルタリングします。この場合、t2 には存在しない行が t1 から識別されます (t2.id IS NULL)。

パフォーマンスに関する考慮事項

LEFT JOIN 更新は、データの選択に

NOT IN 構文を使用する場合に比べて効率が低いことに注意することが重要です。たとえば、不完全な注文を効率的に識別するためのより良いアプローチは、次の構文を使用することです:

SELECT  t1.*
FROM    t1
WHERE   t1.id NOT IN
        (
        SELECT  id
        FROM    t2
        )
ログイン後にコピー
ただし、UPDATE ステートメントの場合、MySQL ではターゲット テーブルをサブクエリで使用することができません。したがって、複数のテーブルの更新には、効率の悪い LEFT JOIN 構文を使用する必要があります。

以上がLEFT JOIN を使用して複数の MySQL テーブルを更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート