表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
我得错了输出..请帮帮我..
答案 0 :(得分:0)
你是正确的方式!现在你只需要过滤那些匹配的人:
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)将为{{1 }。所以你需要做的就是在B表上搜索空值。
另一种方法是使用NULL
:
IN()
另一种方式是SELECT * FROM TableA a
WHERE a.city NOT IN(SELECT city FROM TableB)
:
EXISTS()