SQL Join:LEFT表中不在右表中的所有内容

时间:2018-04-23 19:15:00

标签: sql-server join

我有两张桌子," Affiliates"和" ControlPanels"。

ControlPanels有一个映射到关联企业(A_ID)的字段(CP_AffiliateID)。

我想从附属公司中选择CP_AffiliateID中没有匹配项的所有记录。

字段A_ID是主键,所以我不担心匹配NULL。

那次加入会是什么样的?

2 个答案:

答案 0 :(得分:1)

您实际上并不需要加入,只能使用!= ALL (subquery)

SELECT * FROM Affiliates A 
WHERE a.A_ID != ALL (SELECT C.CP_AffiliateID FROM ControlPanels C)

答案 1 :(得分:1)

请尝试 NOT IN

SELECT * 
FROM   affiliates 
WHERE  affiliates.a_id NOT IN (SELECT cp_affiliateid 
                                  FROM   controlpanels)