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

Kus*_*LNU 1 sql t-sql sql-server compare join

我有两张桌子如下.我正在使用SQL DB.

表格1:

Id Name
1  leo
2  lin
3  kim
4  ken
5  jon
6  kelly
Run Code Online (Sandbox Code Playgroud)

表2:

Id Name Date
1  leo  2019-04-11
2  lin  2019-04-17
3  kim  2019-02-15
4  ken  2018-04-11
Run Code Online (Sandbox Code Playgroud)

我试图比较这两个表,并找出table1中的哪个名称没有Date.

我需要这个输出.

结果:

Id Name
5  jon
6  kelly
Run Code Online (Sandbox Code Playgroud)

有谁可以帮我解决这个问题.

Had*_*adi 6

使用LEFT JOIN:

SELECT * FROM Table1 
LEFT JOIN Table2
ON Table1.Name = Table2.Name
WHERE Table2.Name is NULL
Run Code Online (Sandbox Code Playgroud)

或者您可以使用WHERE NOT EXISTS:

SELECT * From Table1
WHERE NOT EXISTS (SELECT 1 FROM Table2 WHERE Table1.Name = Table2.Name)
Run Code Online (Sandbox Code Playgroud)

或者您可以使用WHERE NOT IN:

SELECT * From Table1
WHERE Name NOT IN (SELECT Name FROM Table2)
Run Code Online (Sandbox Code Playgroud)