产品操作MySQL第7篇 – 运算符 – IS NULL

MYSQL


本资料为产品岗位作为日常工作参考,语言口语化

At 2019/4/27 By David.Yang


介绍什么是IS NULL

IS NULL作为一种运算符,用来对数据表中的NULL值数据进行过滤。


语法

target IS NULL


target值为NULL,则表达式返回TRUE,否则返回FALSE。


MYSQL中没有BOOLEAN类型,

使用TINYINT(1)表示BOOLEAN,

1 = TRUE, 0 = FALSE。


IS NULL和大于、小于等一样都是比较运算符,可以在SELECT WHERE等出使用它。


示例:

SELECT 1 IS NULL, # 0

      0 IS NULL, # 0

      NULL IS NULL; # 1


IS NOT NULL

表示对值进行非NULL的确定


target IS NOT NULL


target不值为NULL,则表达式返回TRUE,否则返回FALSE。

SELECT 1 IS NOT NULL, #-- 1

      0 IS NOT NULL, #-- 1

      NULL IS NOT NULL; #-- 0;


数据表演示IS NULL

过滤出学生表当中,国籍为NULL学生


SQL

SELECT

*

FROM

students

WHERE

nationality IS NULL;



那IS NOT NULL呢?


SQL

SELECT

       COUNT(*) 

FROM

       students

WHERE

       nationality IS NOT NULL;


通过COUNT()统计有27个学生都有国籍


IS NULL能过滤字符串空么?


我们构造了几条测试数据,他们的地址字段有几种类型:

FALSE字符串

0

空字符串

以及NULL


我们再来使用IS NULL过滤


SQL

SELECT

       *

FROM

       students

WHERE

       address IS NULL;



结果只能查询出NULL的记录,

所以需要注意,IS NULL不能对其他的空类型进行过滤。


补充

IS NULL可以和其他条件通过OR拼接

SELECT

*

FROM

students

WHERE

nationality = '南宋'

OR

nationality IS NULL;

你可能感兴趣的:(产品操作MySQL第7篇 – 运算符 – IS NULL)