我有两个表,每个表都有多列。
+------+-------+--+
| Col1 | Col2 | |
+------+-------+--+
| 1 | 1231 | |
| 2 | 123 | |table 1
| 3 | 14124 | |
+------+-------+--+
+------+-------+--+
| Col3 | Col4 | |table 2
+------+-------+--+
| 1 | 1231 | |
| 2 | 323 | |
| 3 | 14324 | |
+------+-------+--+
我想检查col1
和col3
是否相同。那就是:所有的值匹配,用sql确定?
我不想使用except
而且我也不想区分两列并检查它是否为零。
有更有效的方法吗?
答案 0 :(得分:1)
我错过了什么吗?你不能一起加入这些表并进行比较吗?
select
...
from table1
inner join table2
on table1.col1 = table2.col3
答案 1 :(得分:0)
你可以outer join
他们并过滤空结果
select table_1.col1, table_2.col3
from table_1 full outer join table_2 on table_1.col1, table_2.col3
where table_1.col1 is null
or table_2.col3 is null
这将为您提供所有记录,其中任何一列的值之一在另一个表中不存在。