1. ホーム
  2. sql

[解決済み] sql: テーブル A のエントリがテーブル B に存在するかどうかを確認する。

2023-03-17 22:19:59

質問

私は、あまりよくメンテナンスされていないことを知っている定義テーブルを持っており、これを次のように呼びます。 table A . 別のテーブルがあります (これを table B と呼びます) がありますが、これはもっと小さく、理想的には subset of table A であるべきですが、私は table A はやや古く、新しいエントリを含まないので Table B .

テーブルAとBは異なるカラムを持っていることに注意してください。

Table A:
ID, Name, blah, blah, blah, blah

Table B:
ID, Name

私は、テーブルBのIDがテーブルAに存在しないような、テーブルBのすべての行が欲しいです。これは、テーブルAの行にマッチするだけではなく、テーブルBのIDがテーブルAに全く存在しない行だけが欲しいのです。

どのように解決するのですか?

SELECT *
FROM   B
WHERE  NOT EXISTS (SELECT 1 
                   FROM   A 
                   WHERE  A.ID = B.ID)