ホームページ >データベース >mysql チュートリアル >ある SQL テーブルから別の SQL テーブルの ID に基づいて行を効率的に削除するにはどうすればよいですか?

ある SQL テーブルから別の SQL テーブルの ID に基づいて行を効率的に削除するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-05 04:17:40448ブラウズ

How to Efficiently Delete Rows from One SQL Table Based on IDs in Another?

別のテーブルに基づく行の削除

SQL では、行の存在に基づいてテーブルから行を削除する必要が生じることは珍しくありません。別のテーブルで。次のシナリオを考えてみましょう:

DB クエリ:

このクエリをまったく覚えていないようです!

DB クエリの目標:

Table1 内の ID が同じ行をすべて削除したい表2.これは次のように表現できます。

DELETE table1 t1
WHERE t1.ID = t2.ID

サブクエリのアプローチは有効ですが、パフォーマンスを向上させるために JOIN を使用してこれを実現する方法を検討します。

DB クエリ ソリューションを使用します。 JOIN:

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

JOIN を利用して、行間の関係を確立します。 Table1 と Table2 の ID 列に基づいて。 Table2 の行と ID 値を共有する Table1 の行が識別され、削除の対象になります。

注:

  • DELETE ステートメントではエイリアスを使用することをお勧めします。 .
  • クエリを実行する前にクエリ全体を強調表示して、誤った削除を防ぎます。特定の行ではなくテーブル全体。

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

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