[英]How to select from a table where column not exists in another table
表A.
id city
1 koronadal
2 cebu
3 manila
表B.
id city
1 cebu
预期产量:
id city
1 koronadal
3 manila
这是我的查询:
Select a.id, a.city from tablea a left join tableb b on a.city = b.city
我得错了输出..请帮帮我..
你是正确的方式! 现在你只需要过滤那些匹配的人:
Select a.id, a.city
from tablea a
left join tableb b
on a.city = b.city
WHERE b.id is null
在LEFT JOINING
当连接条件不匹配时,左表,在这种情况下tableA仍将被选中,右表中的所有数据,在本例中为tableB将为NULL
。 所以你需要做的就是在B表上搜索空值。
另一种方法是使用IN()
:
SELECT * FROM TableA a
WHERE a.city NOT IN(SELECT city FROM TableB)
另一种方式是EXISTS()
:
SELECT * FROM TableA a
WHERE NOT EXISTS(SELECT 1 FROM TableB b
WHERE a.city = b.city)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.