ホームページ >データベース >mysql チュートリアル >2 つの SQL テーブル間で一致しない行を選択するにはどうすればよいですか?

2 つの SQL テーブル間で一致しない行を選択するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-15 01:14:11574ブラウズ

How to Select Non-Matching Rows Between Two SQL Tables?

SQL テーブル内の一致しない行: 互いに素なデータの選択

データベース管理では、多くの場合、1 つのテーブルからレコードを取得する必要があります。他には存在しません。これは、一致しない行の選択と呼ばれます。 Table1 と Table2 という 2 つのテーブルがあり、それぞれに FirstName、LastName、BirthDate 列を持つレコードが含まれているシナリオを考えてみましょう。

問題: Table1 に存在しない行を特定して表示します。表 2.

解決策:

サブクエリは、Table2 に一致する行が存在しない特定の列に基づいて Table1 から行を選択するように構造化できます。

変更されたクエリ:

SELECT * FROM Table1 WHERE FirstName NOT IN (SELECT FirstName FROM Table2)

この例では変更されたクエリでは、比較のために FirstName 列を指定します。これは、両方のテーブルの行の一意の識別子であるためです。 NOT IN 句により、Table2 に存在しない FirstName 値を持つ Table1 の行のみが選択されます。

このクエリは、Table1 から Table2 にないすべての行を返し、一意のレコードのリストを提供します。次の出力が生成されます。

+-----------+----------+------------+
| FirstName | LastName | BirthDate  |
+-----------+----------+------------+
| Yamila    | Diaz     | 1972-03-04 |
+-----------+----------+------------+

このソリューションは、サブクエリ ロジックを利用して比較を実行し、2 つのテーブル間で互いに素なレコードを効果的に選択します。

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

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