-1

我有两个表,每个表都有多个列。

+------+-------+--+
| Col1 | Col2  |  |
+------+-------+--+
|    1 |  1231 |  |
|    2 |   123 |  |table 1
|    3 | 14124 |  |
+------+-------+--+


+------+-------+--+
| Col3 | Col4  |  |table 2
+------+-------+--+
|    1 |  1231 |  |
|    2 |   323 |  |
|    3 | 14324 |  |
+------+-------+--+

我想检查是否col1col3是否相同。即:所有的值都匹配,用sql确定?

我不想使用except,也不想取两列的差异并检查它是否为零。

有没有更有效的方法来做到这一点?

4

2 回答 2

1

我错过了什么吗?您不能将表格连接在一起并进行比较吗?

select
...
from table1
inner join table2
on table1.col1 = table2.col3
于 2013-10-17T14:51:59.990 回答
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

这将为您提供所有记录,其中任一列的值之一在另一个表中不存在。

于 2013-10-17T14:58:05.640 回答