ホームページ >データベース >mysql チュートリアル >2 つの SQL テーブル間で一致しない行を選択するにはどうすればよいですか?
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 サイトの他の関連記事を参照してください。