我在不同的数据库上有两个表。我试图找出记录数的差异。到目前为止,我已经尝试过:
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
. 这是更复杂查询的简化版本。