我有两张桌子:
联系人(身份证,姓名) 链接(id,contact_id,source_id)
我有以下查询,它可以在链接表中返回source_id为8的联系人。
SELECT name FROM `Contact` LEFT JOIN Link ON Link.contact_id = Contact.id WHERE Link.source_id=8;
然而,我对如何返回与source_id为8无关联的所有联系人的列表感到有点困惑。简单!=将不起作为没有任何链接的联系人不会被返回。
感谢。
答案 0 :(得分:2)
只需说WHERE Link.source_id != 8;
答案 1 :(得分:1)
使用:
SELECT c.name
FROM CONTACT c
LEFT JOIN LINK l ON l.contact_id = c.id
AND l.source_id = 8
WHERE l.contact_id IS NULL
答案 2 :(得分:0)
正如你所表达的那样,有一种直接的方式来做到这一点。
SELECT名称 来自.... 在哪里Link.source_id!= 8;
答案 3 :(得分:0)
您可以更改where
条件:
Link.source_id = 8;
到
Link.source_id != 8;
您也可以使用<>
代替!=
答案 4 :(得分:0)
这不行吗?
WHERE Link.source_id <> 8 OR Link.source_id IS NULL