NOT IN和NOT EQUALS的差异SQL查询中的不同行为

Har*_*ana 6 sql oracle

我认为NOT IN行为与!=查询中的行为相同.但是使用的查询!=返回的行多于使用的查询NOT IN:

SELECT  count(A.NO)
FROM A
WHERE
A.CODE != 'a' 
AND 
A.CODE  != 'b'
AND
A.CODE  != 'c'
AND 
A.NAME  != 'd' 
AND
A.NAME  != 'e'
Run Code Online (Sandbox Code Playgroud)

返回1566行,而

SELECT  count(A.NO)
FROM A
WHERE
A.CODE NOT IN ('a','b','c')
AND
A.NAME NOT IN ('d','e') 
Run Code Online (Sandbox Code Playgroud)

只返回1200行.

我想NOT IN排除NULL价值 - 这是唯一的区别吗?

Dal*_*e M 2

我尝试使用这个简化的 SQL 小提琴来重现问题,但是,它为两个版本返回相同的数字。

您的数据有什么不同?