select COUNT(*) from table t WHERE t.col <> '3'
SELECT COUNT(*) FROM table t WHERE t.col NOT IN
(select t.col from table t WHERE t.col= '3')
以上兩句SQL的執(zhí)行結果不同, 因為 <> 在排除3的同時, 將null也排除了,
所以當比較字段含null時,第一句將比第二句的結果少.
當然第二句從效率上來說不是一個好的寫法, 這樣寫只是為了理解, 在第一句后面, 加上 or t.col is null 應該就等效了.