我有两个表,Table1
和Table2
,共享4个名为C1, C2, C3 and C4
的列;这些列存储1到56的数字序列;此外,一行中可能没有重复的数字,并且数字总是从最低到最高。
示例:
表1
C1 C2 C3 C4
1 6 10 44
5 7 23 50
45 46 52 56
现在我必须检查两个表中出现的序列,而不是四列上的连接
select *
from table1 a
inner join table 2 on a.c1 = b.c1 and a.c2 = b.c2 and a.c3 = b.c3 and a.c4 = b.c4
还有另外一种方法吗?
答案 0 :(得分:3)
是的,有一种不同的方式,使用INTERSECT。
SELECT c1, c2, c3, c4
FROM table1
INTERSECT
SELECT c1, c2, c3, c4
FROM table2
注意:这不会告诉您匹配的次数,它会显示表格之间的唯一匹配