ホームページ >データベース >mysql チュートリアル >SQL JOIN を使用して一致する ID に基づいてテーブルから行を削除するにはどうすればよいですか?

SQL JOIN を使用して一致する ID に基づいてテーブルから行を削除するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-05 13:33:40911ブラウズ

How to Delete Rows from a Table Based on Matching IDs Using SQL JOINs?

JOIN を使用した一致する ID に基づくテーブル内の行の削除

SQL の削除操作を使用して、テーブルから特定の行を削除できます。別のテーブルの一致する ID に基づいてテーブルから行を削除するシナリオでは、JOIN 操作を利用してこのタスクを実行できます。

JOIN ベースのアプローチ

次のクエリは、JOIN 操作を使用して、一致する ID を持つ行を table1 から削除します。 table2:

DELETE t1 
FROM Table1 t1
JOIN Table2 t2 ON t1.ID = t2.ID;

説明:

  • DELETE ステートメントは、't1' という名前のテーブルから行が削除されることを指定します。
  • JOIN 句は、テーブル 1 ('t1') をテーブル 2 ('t2') にそれらの等価性に基づいてリンクします。 「ID」列。
  • table2 の ID と一致する table1 の行は削除されます。

代替アプローチ:

または、次のクエリを使用して同じ操作を実行できます:

DELETE FROM table1
WHERE ID IN (SELECT ID FROM table2);

Thisこのメソッドは、サブクエリを使用して table2 から ID を選択し、次に IN 演算子を使用して table1 の ID と照合します。ただし、一般に、JOIN ベースのアプローチの方が効率的で読みやすいと考えられています。

エイリアスの使用

テーブル エイリアス ('t1' や 't1' など) を使用することをお勧めします。 JOIN クエリの 't2') は、混乱を避け、不完全なために table1 からすべての行が誤って削除されるのを防ぐためです。ハイライト表示

以上がSQL JOIN を使用して一致する ID に基づいてテーブルから行を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。