SQL如何输出NULL

SQL如何输出NULL

SQL如何输出NULL

在SQL中,NULL代表缺失的值或未知的值。在数据库中,有时候会存在某些字段没有值,或者该值是未知的情况,这时候就会用NULL来表示。在SQL查询中,如果要输出NULL值,有一些方法可以实现。本文将详细介绍如何在SQL查询中输出NULL值。

创建测试表格

为了演示如何输出NULL值,首先我们需要创建一个测试用的表格。我们可以创建一个包含一些字段的表格,其中有一些字段的值是NULL。

CREATE TABLE students (
    id INT,
    name VARCHAR(50),
    age INT,
    grade CHAR(1)
);

INSERT INTO students (id, name, age, grade) VALUES
(1, 'Alice', 20, 'A'),
(2, 'Bob', NULL, 'B'),
(3, NULL, 25, 'C'),
(4, 'David', 22, NULL),
(5, 'Eve', 19, 'A');

以上SQL语句创建了一个名为students的表格,其中包含了idnameagegrade四个字段。并向表格中插入了五条数据,其中有些字段的值是NULL。

查询所有数据

首先我们可以通过简单的SELECT语句查询出表格中的所有数据,看一下NULL值的情况。

SELECT * FROM students;

运行以上查询语句,我们可以得到如下结果:

+----+-------+------+-------+
| id | name  | age  | grade |
+----+-------+------+-------+
|  1 | Alice |   20 | A     |
|  2 | Bob   | NULL | B     |
|  3 | NULL  |   25 | C     |
|  4 | David |   22 | NULL  |
|  5 | Eve   |   19 | A     |
+----+-------+------+-------+

可以看到,表格中的数据已经成功显示出来,包括了NULL值。

使用IS NULL和IS NOT NULL条件

如果我们想要筛选出含有NULL值的记录或者不含NULL值的记录,可以使用IS NULLIS NOT NULL条件来实现。

筛选出含有NULL值的记录

下面的查询语句将会筛选出age字段值为NULL的记录:

SELECT * FROM students WHERE age IS NULL;

运行以上查询语句,可以得到如下结果:

+----+------+-----+-------+
| id | name | age | grade |
+----+------+-----+-------+
|  2 | Bob  | NULL| B     |
+----+------+-----+-------+

筛选出不含NULL值的记录

下面的查询语句将会筛选出name字段值不为NULL的记录:

SELECT * FROM students WHERE name IS NOT NULL;

运行以上查询语句,可以得到如下结果:

+----+------+-----+-------+
| id | name | age | grade |
+----+------+-----+-------+
|  1 | Alice|  20 | A     |
|  4 | David|  22 | NULL  |
|  5 | Eve  |  19 | A     |
+----+------+-----+-------+

利用IS NULLIS NOT NULL条件可以轻松地筛选出含有或不含有NULL值的记录。

使用IFNULL函数

在一些情况下,我们可能希望将NULL值替换为特定的值。这时可以使用IFNULL函数来实现。

下面的查询语句将会将grade字段中的NULL值替换为’Unknown’:

SELECT id, name, age, IFNULL(grade, 'Unknown') AS grade FROM students;

运行以上查询语句,可以得到如下结果:

+----+------+-----+---------+
| id | name | age | grade   |
+----+------+-----+---------+
|  1 | Alice|  20 | A       |
|  2 | Bob  | NULL| B       |
|  3 | NULL |  25 | C       |
|  4 | David|  22 | Unknown |
|  5 | Eve  |  19 | A       |
+----+------+-----+---------+

可以看到,grade字段中的NULL值已经被替换为’Unknown’。

使用COALESCE函数

另外一个函数用来处理NULL值的方法是使用COALESCE函数。COALESCE函数接受多个参数,返回参数列表中的第一个非NULL值。

下面的查询语句将会将age字段中的NULL值替换为0:

SELECT id, name, COALESCE(age, 0) AS age, grade FROM students;

运行以上查询语句,可以得到如下结果:

+----+------+-----+-------+
| id | name | age | grade |
+----+------+-----+-------+
|  1 | Alice|  20 | A     |
|  2 | Bob  |   0 | B     |
|  3 | NULL |  25 | C     |
|  4 | David|  22 | NULL  |
|  5 | Eve  |  19 | A     |
+----+------+-----+-------+

可以看到,age字段中的NULL值已经被替换为0。

结语

在SQL查询中,输出NULL值是一种常见的操作。通过本文的介绍,你已经学会了如何在SQL查询中输出NULL值,并且了解了一些处理NULL值的常用函数。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程