MySQL与Left Join相反

用户名

我有一个表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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章