SQL基础知识V2——NULL

简介: SQL数据库开发

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

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

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


NULL 值

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

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

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

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

NULL 值处理

请看下面的 "Customers" 表:

10.jpg

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

那么如何测试null的值呢?

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

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


IS NULL

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

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

SELECT * FROM Customers

WHERE 地址 IS NULL

结果集如下所示:

11.jpg

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


IS NOT NULL

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

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

SELECT * FROM Customers

WHERE 地址 IS NOT NULL

结果集如下所示:

12.jpg

批注

NULL值在建表的时候就可以默认分配,在查询过程中不能使用比较操作符来进行筛选或查找,只能使用IS NULL和IS NOT NULL,否则就会报语法错误。

相关文章
|
5月前
|
SQL 关系型数据库 MySQL
我使用flinkcdc的sql形式进行全量同步,4张表,有两张表数据没进去,看日志,id怎么是null呢?
我使用flinkcdc的sql形式进行全量同步,4张表,有两张表数据没进去,看日志,id怎么是null呢?
152 40
|
5月前
|
SQL 数据库
SQL 中的 NULL 值:定义、测试和处理空数据,以及 SQL UPDATE 语句的使用
NULL 值是指字段没有值的情况。如果表中的字段是可选的,那么可以插入新记录或更新记录而不向该字段添加值。此时,该字段将保存为 NULL 值。需要注意的是,NULL 值与零值或包含空格的字段不同。具有 NULL 值的字段是在记录创建期间留空的字段。
96 0
|
3月前
|
SQL
SQL NOT NULL 约束
【7月更文挑战第18天】SQL NOT NULL 约束。
42 6
|
3月前
|
SQL
SQL NOT NULL 约束
【7月更文挑战第16天】SQL NOT NULL 约束。
32 3
|
3月前
|
SQL 存储 索引
MySQL设计规约问题之为什么应该把字段定义为NOT NULL并且提供默认值
MySQL设计规约问题之为什么应该把字段定义为NOT NULL并且提供默认值
|
4月前
|
SQL
SQL NULL 值
SQL NULL 值
369 3
|
4月前
|
SQL Oracle 关系型数据库
SQL NULL 函数
SQL NULL 函数
39 1
|
4月前
|
SQL
SQL NOT NULL 约束
SQL NOT NULL 约束
39 1
|
4月前
|
SQL
SQL NOT NULL 约束
SQL NOT NULL 约束
36 6
|
5月前
|
SQL Oracle 关系型数据库
Oracle PL/SQL基础知识及应用案例
Oracle PL/SQL基础知识及应用案例
113 0