如果字段的值是空值,则满足查询条件,该记录将被查询出来。如果字段的值不是空值,则不满足查询条件。
使用 IS NULL 的基本语法格式如下:
IS [NOT] NULL
其中,“NOT”是可选参数,表示字段值不是空值时满足条件。
例 1
下面使用 IS NULL 关键字来查询 tb_students_info 表中 login_date 字段是 NULL 的记录。
mysql> SELECT `name`,`login_date` FROM tb_students_info
-> WHERE login_date IS NULL;
+——–+————+
| NAME | login_date |
+——–+————+
| Dany | NULL
|
| Green | NULL
|
| Henry | NULL
|
| Jane | NULL
|
| Thomas | NULL
|
| Tom | NULL
|
+——–+————+
6 rows in set (0.01 sec)
注意:IS NULL 是一个整体,不能将 IS 换成“=”。如果将 IS 换成“=”将不能查询出任何结果,数据库系统会出现“Empty set(0.00 sec)”这样的提示。同理,IS NOT NULL 中的 IS NOT 不能换成“!=”或“<>”。
IS NOT NULL 表示查询字段值不为空的记录。
例 2
下面使用 IS NOT NULL 关键字来查询 tb_students_info 表中 login_date 字段不为空的记录。
mysql> SELECT `name`,login_date FROM tb_students_info
-> WHERE login_date IS NOT NULL;
+——-+————+
| name | login_date |
+——-+————+
| Jim | 2016-01-15 |
| John | 2015-11-11 |
| Lily | 2016-02-26 |
| Susan | 2015-10-01 |
+——-+————+
4 rows in set (0.00 sec