我在不同的数据库中有两个具有相似架构的不同表。比较这两个表之间的记录的最佳方法是什么。我需要找出第一个表中存在的记录,其对应的记录在第二个表中不存在,从第一个表中过滤记录,并带有一些 where 子句。到目前为止,我已经有了这个 SQL 结构:
Select t1_col1, t1_ col2 from table1
where t1_col1=<condition> AND
t1_col2=<> AND
NOT EXISTS
(SELECT * FROM
table2
WHERE
t1_col1=t2_col1 AND
t1_col2=t2_col2)
有一个更好的方法吗?
上面的查询看起来不错,但我怀疑它是在不评估查询第一部分中的条件的情况下进行逐行比较,因为查询的第一部分会大大减少结果集。这发生了吗?