1. ホーム
  2. sql

[解決済み] 別のテーブルにないIDを持つレコードを検索するSQLクエリ

2022-04-25 08:57:26

質問

データベース内に主キーを結合した2つのテーブルがあり、それらの間の不一致集合を見つけたいのです。例えば

  • Table1 はカラムを持つ( ID, Name ) とサンプルデータです。 (1 ,John), (2, Peter), (3, Mary)
  • Table2 はカラムを持つ( ID, Address ) とサンプルデータです。 (1, address2), (2, address2)

では、どのようにSQLクエリを作成すれば、IDを持つ行を table1 にないものは table2 . この場合 (3, Mary) を返すべきでしょうか?

PS: IDはその2つのテーブルの主キーです。

解決方法は?

これを試してみてください

SELECT ID, Name 
FROM   Table1 
WHERE  ID NOT IN (SELECT ID FROM Table2)