日期:2014-05-17  浏览次数:20825 次

select语句 的 IN 与NOT IN 的问题
select   的   IN   与NOT   IN   的问题

如:1、select   count(*)   from   table   where   name   not   in   ( 'li ', 'b ', 'c ', 'd ')
        2、select   count(*)   from   table   where   name   in   ( 'li ', 'b ', 'c ', 'd ')

这两句的结果的和不是应该=select   count(*)   from   table   吗?

还是有什么没有考虑到的?

------解决方案--------------------
in
not in

都不包括空值
------解决方案--------------------
还有NULL的情况,剩下的应该都是NULL了..
------解决方案--------------------
我的建议是select name from table where name not in ( 'li ', 'b ', 'c ', 'd ')
然后 select name from table where name in ( 'li ', 'b ', 'c ', 'd ')
在然后是select name from table。这样我想就知道是什么原因了。