想要查mysql数据库中某一列值为null的数据,写出如下sql语句
SELECT * FROM stu WHERE gender = NULL
执行下!
没查到。为什么为什么为什么?
改下查询语句
SELECT * FROM stu WHERE gender IS NULL;
执行下!查出来了?
这两者有什么区别?
先了解下null:未知的值,未显示的值
不要把空值和数字0或空格混淆,它应该被看做是一个遗漏的值,一个空值不能等于另一个空值,因此两个空值不能互相等同,但是它们又并非不等。
对于null,它有专门的语法来处理,is null 或者 is not null。
这东西相关的还有in查询
当我查询
SELECT * FROM stu WHERE gender not in (25,26);
这样查询查不到gender为null的数据。需要单独告知查询is null。