Table1 (id, name) Table2 (id, name)

查询:

SELECT name   
FROM table2  
-- that are not in table1 already

当前回答

SELECT <column_list>
FROM TABLEA a
LEFTJOIN TABLEB b 
ON a.Key = b.Key 
WHERE b.Key IS NULL;

https://www.cloudways.com/blog/how-to-join-two-tables-mysql/

其他回答

SELECT <column_list>
FROM TABLEA a
LEFTJOIN TABLEB b 
ON a.Key = b.Key 
WHERE b.Key IS NULL;

https://www.cloudways.com/blog/how-to-join-two-tables-mysql/

你可以使用以下查询结构:

SELECT t1.name FROM table1 t1 JOIN table2 t2 ON t2。Fk_id != t1.id;

表1:

id name
1 Amit
2 Sagar

表二:

id fk_id email
1 1 amit@ma.com

输出:

name
Sagar

你可以选择

SELECT name
FROM table2
WHERE name NOT IN
    (SELECT name 
     FROM table1)

or

SELECT name 
FROM table2 
WHERE NOT EXISTS 
    (SELECT * 
     FROM table1 
     WHERE table1.name = table2.name)

请看这个问题的3个技巧来完成这个任务

以下是对我最有效的方法。

SELECT *
FROM @T1
EXCEPT
SELECT a.*
FROM @T1 a
JOIN @T2 b ON a.ID = b.ID

这比我试过的其他方法快了一倍多。

那对我来说很有用

SELECT * 
FROM [dbo].[table1] t1
LEFT JOIN [dbo].[table2] t2 ON t1.[t1_ID] = t2.[t2_ID]
WHERE t2.[t2_ID] IS NULL