我有一张桌子A和一张桌子B. A和B之间的关系是一对多的。 现在我想对A的所有元素进行选择,其主键未被B作为外键注册。
Select u.Id from A as u LEFT JOIN B as c ON u.id IS NULL WHERE u.active='1'
此查询不起作用。
答案 0 :(得分:2)
你应该使用ANTI JOIN:
SELECT u.ID
FROM
A as u LEFT JOIN B as c
ON u.id = c.a_id -- join with the correct key/foreign key
WHERE
u.active='1'
AND c.a_id IS NULL
这将返回表A中的所有ID,其中表B中没有对应的键。