为什么此查询不返回任何结果(它应该返回结果)
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;
这两个问题对我来说似乎是一样的。
答案 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);