可能重复:
Need SQL Query to find Parent records without child records
我有一张桌子和第二张,
select name from one
假设我有3行a,b,c
select name from table two;
并且假设我在表2中有3行,其中包含a,d,f
我想select * from table one
名字不在表2中,所以我最终应该这样做
b,c而不是a因为a在表2中
请建议谢谢
答案 0 :(得分:3)
您可以创建一个子查询来获取表二中的名称,并使用它们从表一中排除行
SELECT * FROM table1 WHERE name NOT IN(SELECT name FROM table2)
答案 1 :(得分:2)
使用NOT EXISTS
子句
SELECT name from one
WHERE NOT EXISTS (
SELECT 1 FROM two
WHERE two.name = one.name
)
或者,您可以使用LEFT JOIN
NULL
限定符
SELECT one.name FROM one
LEFT JOIN two on one.name = two.name
WHERE two.name IS NULL