简体   繁体   English

mysql:NOT IN查询语法问题

[英]mysql : issue with NOT IN query syntax

why does this query doesn't return any result (it should return results) 为什么此查询不返回任何结果(它应该返回结果)

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

whereas this one does. 而这个确实如此。

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

Those two queries seems the same to me. 这两个查询对我来说似乎是相同的。

The NOT IN query returns null. NOT IN查询返回null。 Instead use NOT EXISTS: 而是使用NOT EXISTS:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM