我有两张结构相同的表,如下所示。我正在尝试编写一个查询,使用第一列的unique键比较两个表,并尝试在第二列不匹配时返回值。如果密钥不存在,则无需考虑该数据。只有当两个表中都有键时,我们才能比较它。
Table A
ColumnA ColumnB
A 1
B 2
C 2
D 8
Table B
ColumnC ColumnD
A 1
B 3
C 5
F 4
例如,在比较表a和表b时,上表的输出应该是
B 2
C 2
当比较表b和表a时,应该是
B 3
C 5
理想情况下,基表中的差异应该出现。我尝试过连接和联合,但无法获取上述数据。
3条答案
按热度按时间ui7jx7zq1#
我会做:
第二个版本也一样,只需要刷表名。
bvn4nwqk2#
使用存在并联合所有
rsaldnfx3#
因为您只需要在两个表中都具有匹配fk值的行,所以我们只需要使用
INNER JOIN
.现在,我们可以使用
WHERE .. <> ..
当比较表a和表b时,我们只能得到表a的行:在比较表b和表a时,只需从表b中获取行: