異なるデータベースに 2 つのテーブルがあります。レコード数の違いを見つけようとしています。これまでのところ、私は試しました:
select COUNT(*)
from tabel1 a1
where not exists
(
select *
from db2.table1 a2
where a1.id = a2.id
);
を返します31298
。しかし、自分でテーブルをカウントすると、次のようになります。
SELECT COUNT(*) FROM Table1 -- 227429
SELECT COUNT(*) FROM db2.Table1 -- 256406
これは28977
記録の違いです。カウントの違いを引き起こす私が何をしているのか誰にもわかりますか?
アップデート
カウントを差し引くことで違いを判断できることは承知しています。私が疑問に思っているのは、 を使用して正確な差を得ることができるかどうかですnot exists
。これは、より複雑なクエリの単純化されたバージョンです。