我有一个表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'
此查询不起作用。
您应该使用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中没有对应的键。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句