mysql:NOT IN查询语法问题

时间:2016-02-29 15:41:36

标签: mysql

为什么此查询不返回任何结果(它应该返回结果)

SELECT id FROM T_CLIENT where id 
    not in (select distinct client_id from T_VENTE);

而这一个确实如此。

SELECT *
FROM T_CLIENT LEFT JOIN T_VENTE ON T_VENTE.client_id=T_CLIENT.id
WHERE T_VENTE.client_id IS NULL;

这两个问题对我来说似乎是一样的。

1 个答案:

答案 0 :(得分:2)

NOT IN查询返回null。而是使用NOT EXISTS:

SELECT id FROM T_CLIENT c where NOT EXISTS  
    (select 1 from T_VENTE v where v.client_id = c.id);