在 MySQL 查询中即使没有结果也要返回一个值?


你可以使用 MySQL 中的 IFNULL() 函数来返回一个值,即使没有结果。让我们创建一个表。创建表的查询。

mysql> create table IfNullDemo
   −> (
   −> Id int,
   −> Name varchar(100)
   −> );
Query OK, 0 rows affected (0.60 sec)

使用 insert 命令向表中插入一些记录。查询如下:

mysql> insert into IfNullDemo values(1,'John');
Query OK, 1 row affected (0.18 sec)

mysql> insert into IfNullDemo values(200,'Sam');
Query OK, 1 row affected (0.21 sec)

mysql> insert into IfNullDemo values(204,'Carol');
Query OK, 1 row affected (0.14 sec)

mysql> insert into IfNullDemo values(510,'Johnson');
Query OK, 1 row affected (0.18 sec)

使用 select 语句显示表中的所有记录。查询如下:

mysql> select *from IfNullDemo;

以下是输出:

+------+---------+
| Id   | Name    |
+------+---------+
|   1 | John     |
| 200 | Sam      |
| 204 | Carol    |
| 510 | Johnson  |
+------+---------+
4 rows in set (0.00 sec)

让我们首先为 TRUE 条件返回一个值:

查询如下:

mysql> select ifnull((select Id from IfNullDemo where Id = 200),'No Result Found') As ResultFound;

以下是输出:

+-------------+
| ResultFound |
+-------------+
| 200         |
+-------------+
1 row in set (0.00 sec)

现在,让我们使用 IFNULL 方法在没有结果的情况下返回一个值。查询如下:

mysql> select ifnull((select Id from IfNullDemo where Id = 400),'No Result Found') As ResultFound;

以下是输出:

+-----------------+
| ResultFound     |
+-----------------+
| No Result Found |
+-----------------+
1 row in set (0.00 sec)

更新于:2019 年 7 月 30 日

8000+ 浏览量

开启你的职业生涯

通过完成该课程获得认证

立即开始
广告