Posted on 2010-07-07 10:17
wesley1987 阅读(7291)
评论(1) 编辑 收藏
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的执行结果不同, 因为 <> 在排除3的同时, 将null也排除了,
所以当比较字段含null时,第一句将比第二句的结果少.
当然第二句从效率上来说不是一个好的写法, 这样写只是为了理解, 在第一句后面, 加上 or t.col is null 应该就等效了.