Sql 简明教程
SQL - IS NULL
假设一个数据表的一些字段存在 NULL 值。这些字段表明其中没有值。SQL 允许用户创建新的记录或修改现有记录,而无需指定字段的值。如果未提供值,该字段将存储为 NULL 值。
在 SQL 中,不可能使用比较运算符(如 =、< 或 <>)检查 NULL 值。相反,我们使用 IS NULL 和 IS NOT NULL(NULL 值的否定)运算符。
The SQL IS NULL Operator
SQL IS NULL 运算符用于检查列中的值是否为 NULL。如果列值为 NULL,则返回 true;否则返回 false。
NULL 是表示缺失或未知数据的值,IS NULL 运算符允许我们筛选在特定列中包含 NULL 值的记录。
Syntax
以下是 IS NULL 运算符的语法 −
SELECT column_name1, column_name2, column_name3, ... , column_nameN
FROM table_name
WHERE column_nameN IS NULL;
Example
首先,让我们使用以下查询创建一个名为 CUSTOMERS 的表 −
CREATE TABLE CUSTOMERS(
ID INT NOT NULL,
NAME VARCHAR(20),
AGE INT,
ADDRESS CHAR(25),
SALARY DECIMAL(18, 2),
PRIMARY KEY(ID)
);
现在,使用如下所示的 INSERT 语句向此表中插入值:
INSERT INTO CUSTOMERS VALUES
(1, 'Ramesh', 32, 'Ahmedabad', NULL ),
(2, 'Khilan', 25, NULL, 1500.00 ),
(3, 'Kaushik', NULL, 'Kota', 2000.00 ),
(4, 'Chaitali', 25, 'Mumbai', NULL ),
(5, 'Hardik', 27, 'Bhopal', 8500.00 ),
(6, 'Komal', NULL, 'Hyderabad', 4500.00 ),
(7, 'Muffy', 24, NULL, 10000.00 );
该表将按如下方式创建:
ID |
NAME |
AGE |
ADDRESS |
SALARY |
1 |
Ramesh |
32 |
Ahmedabad |
NULL |
2 |
Khilan |
25 |
NULL |
1500.00 |
3 |
Kaushik |
NULL |
Kota |
2000.00 |
4 |
Chaitali |
25 |
Mumbai |
NULL |
5 |
Hardik |
27 |
Bhopal |
8500.00 |
6 |
Komal |
NULL |
Hyderabad |
4500.00 |
7 |
Muffy |
24 |
NULL |
10000.00 |
IS NULL with SELECT Statement
我们可以将 IS NULL 运算符与 SELECT 语句一起使用,以筛选具有 NULL 值的记录。
IS NULL with COUNT() Function
我们还可以将 IS NULL 运算符与 SQL 中的 COUNT() 函数一起使用,以计算特定列中具有 NULL 值的记录数。
Syntax
以下是 IS NULL 运算符与 COUNT() 函数的语法 −
SELECT COUNT(column_name)
FROM table_name
WHERE condition IS NULL;
IS NULL with UPDATE Statement
我们可以在 SQL 中使用 UPDATE 语句和“IS NULL”运算符,以更新特定列中具有 NULL 值的记录。
Syntax
以下是 SQL 中 IS NULL 运算符与 UPDATE 语句的语法 −
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE columnname1, columnname2, ... IS NULL;