比较两个不同表中的列

时间:2013-03-29 14:26:30

标签: sql oracle

假设我有两个表,表A和表B,我想比较某个列。

例如,

表A包含以下列:IP,主机,应用程序

表B包含以下列:IP,数据中心,服务器,模型,Last_Updated

如何比较两个表之间的IP列以获得差异?

我知道如果表格具有相同的列,我可以使用union和'minus'来获取差异,但是如果表有不同的列,我就无法找到方法。

谢谢!

3 个答案:

答案 0 :(得分:15)

SELECT  *
FROM    A
FULL JOIN
        B
ON      a.IP = b.IP
WHERE   a.IP IS NULL OR b.IP IS NULL

这将从两个表中的非匹配行输出所有列,两侧都有NULL。

答案 1 :(得分:2)

你的意思是你想要获得表A中不在表B中的所有IP?

select IP from table A
MINUS
select IP from table B

我是否正确理解了这个问题?

答案 2 :(得分:2)

select distinct column_A FROM table_1 where column_A not in (SELECT column_A FROM table_2)