sql中的null与不等于符号的比较<>,!=,如果查询的数据中有null的情况,那么 用 is null 或者 is not null,
如果表A中有数据为
A
name code stn sex
aaa 11 2 M
bbb 22 3 F
ccc 33 4 M
查询表A中的name不为aaa的数据
一般会这么写,select name from A where name!='aaa',看数据显示这么写也是ok的,结果会是两条,但是当name列出现的null值则结果就不一样了
A
name code stn sex
aaa 11 2 M
bbb 22 3 F
null 33 4 M
表中这样的数据,再像上面的写法,得出的数据就不对了,上面的写法得出的数据结果为一条,也就是bbb那条数据,还有一条name为空的数据就没有被筛选出来,这个时候这样写就可以解决这样的问题
select * from A where name !='aaa' or name is null ,这个中情况在特定的数据环境下是会出现的,很多时候会干扰结果的判断的