我很难理解这一点,并查看了建议的重复项,但是当我检查了许多其他查询时,我可以弄清楚为什么以下内容之间有如此大的差异。
为什么这样做:总结果-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?