ホームページ >データベース >mysql チュートリアル >あるテーブルから、別のテーブルに一致するエントリがない行を選択するにはどうすればよいですか?

あるテーブルから、別のテーブルに一致するエントリがない行を選択するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-15 17:31:45437ブラウズ

How to Select Rows from One Table with No Matching Entries in Another Table?

別のテーブルに対応するエントリがない行を検索します

データベース保守の世界では、特に外部キー制約のないテーブルを扱う場合、データの整合性を確保することが重要です。誤ったデータを特定してクリーンアップすることは、テーブル間の正しい関係を確立するために重要です。

よくある質問は、別のテーブルに対応するエントリがない行を取得するクエリを作成するにはどうすればよいですか?というものです。

次のクエリを考えてみましょう:

<code class="language-sql">SELECT t1.ID
FROM Table1 t1
LEFT JOIN Table2 t2 ON t1.ID = t2.ID
WHERE t2.ID IS NULL</code>

手順:

  • LEFT JOIN: この結合タイプでは、Table2 で一致が見つかるかどうかに関係なく、Table1 のすべての行が返されます。
  • WHERE t2.ID IS NULL: この句は、Table2 内の ID NULL の行のみを含むように結果をフィルターします。つまり、Table2 に対応するエントリがない行を返します。

結合と NULL 値の基本概念を理解することで、影響を受けるテーブルごとに外部の助けを求めなくても、効率的にクエリを作成し、誤ったデータを見つけてデータベースの整合性を維持することができます。

以上があるテーブルから、別のテーブルに一致するエントリがない行を選択するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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