如何比较两个表并找出差异

时间:2019-02-26 00:03:51

标签: sql sql-server tsql join compare

我有两个如下表。我正在使用SQL DB。

表1:

Id Name
1  leo
2  lin
3  kim
4  ken
5  jon
6  kelly

表2:

Id Name Date
1  leo  2019-04-11
2  lin  2019-04-17
3  kim  2019-02-15
4  ken  2018-04-11

我正在尝试比较这两个表,并找出table1中哪个名称没有日期。

我需要这个输出。

结果:

Id Name
5  jon
6  kelly

任何人都可以帮助我进行此查询。

2 个答案:

答案 0 :(得分:6)

使用左加入

SELECT * FROM Table1 
LEFT JOIN Table2
ON Table1.Name = Table2.Name
WHERE Table2.Name is NULL

或者您可以使用不存在的地方

SELECT * From Table1
WHERE NOT EXISTS (SELECT 1 FROM Table2 WHERE Table1.Name = Table2.Name)

或者您可以使用 WHERE NOT IN

SELECT * From Table1
WHERE Name NOT IN (SELECT Name FROM Table2)

答案 1 :(得分:0)

尝试以下操作:

SELECT Id,Name FROM Table1
EXCEPT
SELECT Id,Name FROM Table2