MySQL与左连接相反

时间:2014-04-12 16:49:17

标签: mysql

我有一张桌子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'

此查询不起作用。

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中没有对应的键。

相关问题