SQL 教程

SQL 教程 SQL 简介 SQL 语法 SQL Select SQL Select Distinct SQL Where SQL And, Or, Not SQL Order By SQL Insert Into SQL Null Values SQL Update SQL Delete SQL Select Top SQL Min 和 Max SQL Count, Avg, Sum SQL Like SQL 通配符 SQL In SQL Between SQL 别名 SQL 联接 SQL Inner Join SQL Left Join SQL Right Join SQL Full Join SQL 自联接 SQL Union SQL Group By SQL Having SQL Exists SQL Any, All SQL Select Into SQL Insert Into Select SQL Case SQL Null 函数 SQL 存储过程 SQL 注释 SQL 运算符

SQL 数据库

SQL 创建数据库 SQL 删除数据库 SQL 数据库备份 SQL Create Table SQL Drop Table SQL Alter Table SQL 约束 SQL Not Null SQL Unique SQL Primary Key SQL Foreign Key SQL Check SQL Default SQL Index SQL 自动增量 SQL 日期 SQL 视图 SQL 注入 SQL 托管 SQL 数据类型

SQL 参考手册

SQL 关键字 MySQL 函数 SQL Server 函数 MS Access 函数 SQL 快速参考手册

SQL 实例

SQL 实例 SQL 测验 SQL 练习


SQL NULL 值

什么是 NULL 值?

具有 NULL 空值的字段表示此字段没有值。

如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况下插入新记录或更新已有的记录。这意味着该字段将以 NULL 值保存。

注释: 空值不同于零值或包含空格的字段。具有空值的字段是在记录创建过程中保留为空的字段!


如何测试空值?

无法使用比较运算符(如 =, <, or <>)测试空值。

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

IS NULL 语法

SELECT column_names
FROM table_name
WHERE column_name IS NULL;

IS NOT NULL 语法

SELECT column_names
FROM table_name
WHERE column_name IS NOT NULL;

演示数据库

以下是从 Northwind 示例数据库的 "Customers" 表中选择的内容:

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4

Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden


IS NULL

IS NULL 运算符用于测试空值(NULL 值)。

以下 SQL 列出了 地址(Address) 字段中具有空值的所有客户:

实例

SELECT CustomerName, ContactName, Address
FROM Customers
WHERE Address IS NULL;
亲自试一试 »

提示: 请始终使用 IS NULL 来查找 NULL 值。


IS NOT NULL

IS NOT NULL 运算符用于测试非空值(非空值)。

以下 SQL 列出了 地址(Address) 字段中有值的所有客户:

实例

SELECT CustomerName, ContactName, Address
FROM Customers
WHERE Address IS NOT NULL;
亲自试一试 »

学习训练

练习题:

Customers 中选择所有记录,其中 PostalCode 列为空。

SELECT * FROM Customers
WHERE   ;

Start the Exercise