SQL IS NULL 操作指南:查询、统计与处理缺失数据

SQL 中的 IS NULL 操作符用于检查列中是否包含 NULL(即缺失或未知)值。由于 NULL 不同于零或空字符串,我们通常在 WHERE 子句中使用 IS NULL 来筛选那些缺失值的行。

  • 我们可以使用 OR 来检查多个列。
  • 可以结合 COUNT 函数来统计 NULL 值的数量。
  • 在使用 IS NULL 筛选后,我们可以对这些行进行更新或删除操作。

示例: 首先,让我们创建一个演示用的 SQL 数据库和表,以便我们在其上使用 IS NULL 命令。

!Null

查询语句:

SELECT * FROM Customers
WHERE Email IS NULL;

输出结果:

!out

语法:

SELECT column_name
FROM table_name
WHERE column_name IS NULL;

深入了解 SQL IS NULL 的使用

让我们通过一些例子来看看如何在 SQL 中使用 IS NULL 操作符。首先,我们将创建一个演示用的 SQL数据库和表,用于后续的操作演示。

!gfg

示例 1:在 WHERE 子句中使用 IS NULL

要筛选 email 列中包含 NULL 的行,我们可以在 WHERE子句中使用 IS NULL 操作符:

查询语句:

SELECT * 
FROM Geeksforgeeks
WHERE email IS NULL;

#### 输出结果:

!Null-val

示例 2:在多列上使用 IS NULL 操作符

我们可以在多个列上使用 IS NULL 操作符。例如,要筛选 email 或 coding_score 为 NULL 的行,我们可以使用 OR操作符:

查询语句:

SELECT * 
FROM Geeksforgeeks
WHERE email IS NULL OR coding_score IS NULL;

输出结果:

!out-1

示例 3:结合 COUNT() 函数使用 IS NULL

我们可以将 COUNT() 函数与 WHERE 子句结合使用,以统计某列为 NULL 的行数。例如,要计算 coding_score 列中为 NULL 的行数:

SELECT COUNT(*) AS count_empty_coding_score
FROM Geeksforgeeks
WHERE coding_score IS NULL;

输出结果:

!Out-3

示例 4:结合 UPDATE 语句使用 IS NULL

我们可以在 UPDATE 语句中使用 IS NULL 操作符来更新 NULL 值。例如,让我们为所有 email 列为 NULL 的用户设置一个默认邮箱:

查询语句:

UPDATE Geeksforgeeks
SET email = ‘[email protected]‘
WHERE email IS NULL;

输出结果:

!out-5

示例 5:结合 DELETE 语句使用 IS NULL

我们还可以使用 IS NULL 操作符来删除列中包含 NULL 值的行。例如,要删除 coding_score 为 NULL 的行:

查询语句:

DELETE FROM Geeksforgeeks
WHERE coding_score IS NULL;

输出结果:

!out-8

> 注意:NULL 值不同于零值(0)和空格(Blank Spaces)。如果一个字段有 NULL 值,意味着该字段在数据录入时被留空。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/43374.html
点赞
0.00 平均评分 (0% 分数) - 0