假设我有两个由单列组成的SQL表,
即
Table 1 Table 2
a1 a2
b1 b2
c1 c2
是否有一个简洁的SQL命令来比较一个表中的每个记录与另一个表中的每个记录? (如果表1中的任何记录与表2中的任何记录相匹配,则返回true)
即
if(a1 = a2 OR
a1 = b2 OR
a1 = c2 OR
b1 = a2 OR
b1 = b2 ...)
如果表a中的任何记录与表b匹配(即,在整数表中,它们是相同的int),则返回true。
答案 0 :(得分:1)
为什么不简单
if exists (select 1 from T1 inner join TB on T1.Col = T2.Col)
答案 1 :(得分:0)
full join
非常适合发现差异。要查找任一表中缺少的行:
select *
from t1
full join
t2
on t1.col1 = t2.col1
where t1.col1 is null
or t2.col1 is null
这假设单列是唯一的(即没有重复值。)