使用NOT IN()的意外结果

时间:2019-01-18 03:46:30

标签: mysql

我很难理解这一点,并查看了建议的重复项,但是当我检查了许多其他查询时,我可以弄清楚为什么以下内容之间有如此大的差异。

为什么这样做:总结果-IN(X,Y,Z)

不等于:不输入(X,Y,Z)

我什至检查了更基本的查询,例如:

 SELECT PT.personId, PT.tagId, P.FirstName, P.LastName, P.Deleted 
 FROM persontags as PT 
 LEFT JOIN person as P 
 ON P.PersonId = PT.personId 
 WHERE PT.CreatedBy = '21' 
       AND PT.tagId != '4765' 
       AND P.Deleted != 1 
 GROUP BY P.PersonId

因此,没有过滤器/条件的总结果为:4546

使用IN(4765)获取具有tagId = 44的匹配记录

那为什么NOT IN(4765)不能产生3940而不是4542?

0 个答案:

没有答案