我認爲NOT IN
在查詢中的行爲與!=
相同。但是,使用!=
查詢比使用NOT IN
查詢返回的行:NOT IN和NOT EQUALS在SQL查詢中的不同行爲差異
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'
返回1566行,而
SELECT count(A.NO)
FROM A
WHERE
A.CODE NOT IN ('a','b','c')
AND
A.NAME NOT IN ('d','e')
只返回1200行。
我想NOT IN
不包括NULL
的值 - 這是唯一的區別嗎?
你可以爲我們提供一些演示數據 – Akash 2013-02-14 02:09:13
如果A.CODE或A.NAME有一個NULL值,其在太忽略WHERE子句 – Akash 2013-02-14 02:10:58
回答這個問題最簡單的方法,就是打印出來的366在第一個查詢中但不在第二個查詢中的行。查看A.CODE和A.NAME的值。 – byteherder 2013-02-14 02:21:16