繁体   English   中英

如何从另一个表中不存在列的表中进行选择

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM