SQL基础知识普及(二十二)——IS NULL 和 IS NOT NULL

简介: SQL数据库开发

NULL 空值代表丢失的未知数据。

默认情况下,表列可以保存 NULL 值。

本章解释 IS NULL 和 IS NOT NULL 操作符。

SQL NULL 值

如果表中的列是可选的,那么我们可以插入一个新记录或更新一个现有记录,而无需向列添加一个值。这意味着该字段将存储为 NULL 。

NULL 值的处理与其他值不同。

NULL 为未知或不适当值的占位符。

图片注释:无法比较 NULL 和 0;它们是不等价的。

SQL 的 NULL 值处理

请看下面的 "Persons" 表:

40.jpg如果 "Persons" 表 "地址" 一栏是可选的。这意味着,如果在 "地址" 列中插入一个没有值的记录,则 "地址" 列将用 NULL 值保存。

那么如何测试null的值呢?

您不能使用比较操作符测试 NULL 值,例如=、<或<>。

我们必须使用 IS NULL 和 IS NOT NULL 操作符。

SQL IS NULL

我们如何才能选择 "Address" 列中有 NULL 值的记录?

我们必须使用 IS NULL 操作符:

SELECT 姓名,地址,城市 FROM Persons

WHERE 地址 IS NULL

结果集如下所示:


41.jpg

提示:总是使用 IS NULL 来查找 NULL 值。

SQL IS NOT NULL

我们如何才能选择 "Address" 列中没有 NULL 值的记录?

我们必须使用 IS NOT NULL 操作符:

SELECT 姓名,地址,城市 FROM Persons

WHERE 地址 IS NOT NULL

结果集如下所示:


42.jpg

相关文章
|
SQL 存储 数据库
SQL NOT NULL
【11月更文挑战第14天】
530 6
|
SQL
SQL NOT NULL 约束
【7月更文挑战第18天】SQL NOT NULL 约束。
211 6
|
SQL
SQL NOT NULL 约束
【7月更文挑战第16天】SQL NOT NULL 约束。
151 3
|
SQL Oracle 关系型数据库
SQL NULL 函数
SQL NULL 函数
158 1
|
SQL 存储 索引
MySQL设计规约问题之为什么应该把字段定义为NOT NULL并且提供默认值
MySQL设计规约问题之为什么应该把字段定义为NOT NULL并且提供默认值
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
849 13
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
580 9
|
SQL 存储 网络安全
关系数据库SQLserver 安装 SQL Server
【7月更文挑战第26天】
367 6
|
SQL Oracle 关系型数据库
MySQL、SQL Server和Oracle数据库安装部署教程
数据库的安装部署教程因不同的数据库管理系统(DBMS)而异,以下将以MySQL、SQL Server和Oracle为例,分别概述其安装部署的基本步骤。请注意,由于软件版本和操作系统的不同,具体步骤可能会有所变化。
1411 3

热门文章

最新文章