sql查询语句中<>注意事项

今天写sql的时候遇到了使用不等于查询,结果集为空的问题。查了下资料,发现的原因,特此记录下来。

        为了说明这个问题,通过一个小小的示例来说明:

select t.id,t.name,t.status from table t where t.status<>1

上面的查询语句中查询的是status不等于2的记录,特别需要注意的是status为null会过滤掉。即使status为null的记录不会出现在查询结果集中。

总结:使用<>查询时,查询的范围是字段非null的记录,而不是所有记录。所以,字段为空的记录不会出现在结果集中。

猜你喜欢

转载自serenity.iteye.com/blog/1550440