SQL IS NULL 运算符是 SQL 中的逻辑运算符,用于检查列中的空值(NULL 值)。
例如,假设我们有一张表格“student”。我们的表 3 列 - “id”、“name” 和 “rank”。现在,如果我们想从表 “student” 中获取其行在其排名列中具有 NULL 数据的所有数据,在这种情况下IS NULL 运算符被使用。
在本文中,我们将通过清晰简洁的示例讨论 IS NULL 运算符及其应用。
用法
SELECT * FROM table_name
WHERE column_name IS NULL;
注意:NULL 值不同于零值和空格。具有 NULL 值的字段意味着该字段留空。
演示 SQL 数据库
在本教程中IS NULL 运算符,我们将使用下表作为示例。
user_id | 名字 | problems_solved | coding_score | 电子邮件 |
---|---|---|---|---|
101 | Vishu | 20 | 100 | example1@gamil.com |
102 | Sumit | 19 | 99 | |
103 | Neeraj | 18 | 98 | example2@gamil.com |
104 | Aayush | 17 | 97 | |
105 | Harsh | 16 | example3@gamil.com | |
106 | Rahul | 15 | example4@gamil.com | |
107 | Vivek | 14 | 90 |
要在您的系统上创建此表,请编写以下查询:
CREATE TABLE geeksforgeeks(
user_id int PRIMARY KEY,
name varchar(100),
problems_solved int,
coding_score int,
email varchar(100)
);
INSERT INTO geeksforgeeks (user_id, name, problems_solved, coding_score, email)
VALUES
(101, 'Vishu', 20, 100, 'example1@gamil.com'),
(102, 'Sumit', 19, 99, NULL),
(103, 'Neeraj', 18, 98, 'example2@gamil.com'),
(104, 'Aayush', 17, 97, NULL),
(105, 'Harsh', 16, NULL, 'example3@gamil.com'),
(106, 'Rahul', 15, NULL, 'example4@gamil.com'),
(107, 'Vivek', 14, 90, NULL);
SELECT* FROM geeksforgeeks;
IS NULL 运算符示例
让我们看一下 SQL 中 IS NULL 运算符的一些示例。这些示例将教您如何在 SQL 查询中使用 IS NULL 运算符,并帮助您练习 IS NULL 运算符。
示例 1:带有 WHERE 子句的 IS NULL
我们使用 IS NULL 运算符和 WHERE 子句来过滤表中的数据。
SELECT * FROM geeksforgeeks WHERE email IS NULL;
输出:
IS NULL 与 WHERE 子句
示例 2:多列上的 IS NULL 运算符
我们可以在多个字段上使用 IS NULL 运算符OR 操作符。
SELECT * FROM geeksforgeeks WHERE email IS NULL or coding_score IS NULL;
输出:
多列上的 IS NULL 运算符
示例 3:COUNT() 函数为 IS NULL
使用 IS NULL 与COUNT()函数提供列中 NULL 值的总数。
SELECT count(*) as count_empty_coding_score FROM geeksforgeeks WHERE coding_score IS NULL;
输出:
IS NULL 与 COUNT() 函数
我们可以在表中清楚地看到,有 2 行的编码分数列中有 NULL 值,即 user_id:105,106。
示例 4:带有 UPDATE 语句的 IS NULL
我们可以使用 IS NULL 运算符将 NULL 值更新为一些默认值UPDATE 陈述。
UPDATE geeksforgeeks SET email = 'default@gmail.com' WHERE email IS NULL;
输出:
IS NULL 与 UPDATE 语句
正如我们所看到的user_id:102、104 和 107 以前在其电子邮件列中包含 NULL 值,但现在它们具有默认值,即“default@gmail.com”。
示例 5:带有 DELETE 语句的 IS NULL
我们可以借助 SQL 删除所有 NULL 值删除语句.
DELETE FROM geeksforgeeks WHERE coding_score IS NULL;
输出:
IS NULL 与 DELETE 语句
我们可以清楚地注意到,所有已删除的行在其编码分数列中具有空值。
关于 IS NULL 运算符的要点
- IS NULL operator is used to detect any rows that contain a NULL value in its column.
- IS NULL operator is mostly used with WHERE clause in SQL.
- We can use IS NULL operator on multiple columns using OR operator.
- Using COUNT function we can count total number of NULL values in SQL.
- We can UPDATE or DELETE the NULL values, after filtering them with IS NULL operator.
相关用法
- SQL IS NOT NULL用法及代码示例
- SQL IN用法及代码示例
- SQL Datetime转Date用法及代码示例
- SQL Date转Datetime用法及代码示例
- SQL NUMERIC转NVARCHAR用法及代码示例
- SQL LTRIM()用法及代码示例
- SQL UPPER()用法及代码示例
- SQL RTRIM()用法及代码示例
- SQL FLOAT转NVARCHAR用法及代码示例
- SQL Datetime转Epoch用法及代码示例
- SQL Epoch Time转Date用法及代码示例
- SQL Datetime转String用法及代码示例
- SQL VARCHAR转INT用法及代码示例
- SQL NOT用法及代码示例
- SQL NOT EQUAL用法及代码示例
- SQL LIKE用法及代码示例
- SQL DROP和TRUNCATE的区别用法及代码示例
- SQL Server CHARINDEX()用法及代码示例
- SQL Server DIFFERENCE()用法及代码示例
- SQL Server IIF()用法及代码示例
- SQL Server ASCII()用法及代码示例
- SQL Server LOG()用法及代码示例
- SQL Server LOG10()用法及代码示例
- SQL Server ATN2()用法及代码示例
注:本文由纯净天空筛选整理自vishuvaishnav3001大神的英文原创作品 SQL IS NULL Operator。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。