4、使用IS NULL 查询空数据
默认的是,表的列可以存放 NULL 值。
如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况下插入新记录或更新已有的记录。这意味着该字段将以 NULL 值保存。
注意:无法比较 NULL 和 0;它们是不等价的。
无法使用比较运算符来测试 NULL 值,比如 =、!= 或 <>。
我们必须使用 IS NULL 和 IS NOT NULL操作符。
IS NULL用法:
select *
from table_name
where column_name is null;--代表这一列名有空值的数据信息
例子:
从教师表 teachers
中查询邮箱 email
为空的所有教师信息,我们可以使用下面的 SQL 语句:
select *
from teachers
where email is null;--邮箱 email 为空的所有教师信息
执行输出结果:
+----+--------------+-------+-----+---------+
| id | name | email | age | country |
+----+--------------+-------+-----+---------+
| 5 | Linghu Chong | NULL | 18 | CN |
+----+--------------+-------+-----+---------+
IS NOT NULL用法:
select *
from table_name
where column_name is not null;
例子:
查询教师表 teachers
中,国籍为 'CN' 或 'JP' 且 email
信息不为空的所有教师信息,我们可以使用下面的 SQL 语句:
select *
from teachers
where (country in ('CN','JP')) and (email is not null);
执行输出结果:
| id | name | email | age | country |
| :- | :----------------- | :------------------------ | :-- | :------ |
| 2 | 'Northern Beggar' | 'northern.beggar@qq.com' | 21 | 'CN' |
| 4 | 'Southern Emperor' | 'southern.emperor@qq.com' | 21 | 'JP' |