MySQL 中的 CASE 语句
在本教程中,我们旨在学习如何在 MySQL 中使用 CASE
语句。
当满足第一个条件时,CASE
语句继续执行条件并返回一个值(类似于 IF-THEN-ELSE
语句)。当条件为真时,程序将停止读取并返回结果。
如果没有一个条件为真,它将返回 ELSE
子句中的值。如果代码中没有 ELSE
部分,程序将返回 NULL
。
case 语句的语法可以表示为:
case when condition then result_1 else result_2 end;
让我们试着通过一个例子来了解更多关于这个语句的信息。
然而,在我们开始之前,我们创建了一个虚拟数据集来使用。在这里,我们创建了一个表,student_details
,以及其中的几行。
-- create the table student_details
CREATE TABLE student_details(
stu_id int,
stu_firstName varchar(255) DEFAULT NULL,
stu_lastName varchar(255) DEFAULT NULL,
primary key(stu_id)
);
-- insert rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName)
VALUES(1,"Preet","Sanghavi"),
(2,"Rich","John"),
(3,"Veron","Brow"),
(4,"Geo","Jos"),
(5,"Hash","Shah"),
(6,"Sachin","Parker"),
(7,"David","Miller");
上面的查询创建了一个表以及其中包含学生名字和姓氏的行。要查看数据中的条目,我们使用以下代码:
SELECT * FROM student_details;
上述代码将给出以下输出:
stu_id stu_firstName stu_lastName
1 Preet Sanghavi
2 Rich John
3 Veron Brow
4 Geo Jos
5 Hash Shah
6 Sachin Parker
7 David Miller
现在,当学生的名字是 Preet
时,让我们的目标是打印 Yes
和学生的姓氏;否则,我们打印 No
。
MySQL 中的 CASE
语句
正如前面的语法所见,MySQL 中的 CASE
语句需要一个条件。这类似于 IF..ELSE..
语句。
我们可以使用以下代码示例在 MySQL 中获得所需的结果:
SELECT stu_lastName,
CASE stu_firstName
WHEN 'Preet' THEN 'Yes'
ELSE 'No'
END
AS RESULT
FROM student_details;
上述代码获取每个学生的姓氏以及名为 result
的新列。如果学生的名字是 Preet
,则此结果列具有 Yes
。
上面代码的输出可以可视化如下。
stu_lastName RESULT
Sanghavi Yes
John No
Brow No
Jos No
Shah No
Parker No
Miller No
同样,我们可以使用 CASE
语句来利用数据并满足我们的要求。CASE
语句的替代方案是 MySQL 中的 IF
语句。
因此,在本教程的帮助下,我们现在可以在 MySQL 中成功实现 CASE
语句。
相关文章
MySQL 中的减法运算
发布时间:2024/03/25 浏览次数:140 分类:MySQL
-
本教程将指导你如何在 MySQL 中模拟 MINUS 操作。它还通过不同的示例教你各种模拟 MINUS 操作的方法。
MySQL 中的 MUL vs PRI vs UNI
发布时间:2024/03/25 浏览次数:190 分类:MySQL
-
本教程将指导你了解 MySQL 中 MUL、PRI 和 UNI 键之间的区别。它还强调了它们中的每一个的使用。
MySQL 中的 DATETIME 与 TIMESTAMP 的比较
发布时间:2024/03/25 浏览次数:155 分类:MySQL
-
本教程将向你介绍 DATETIME 和 TIMESTAMP 数据类型。你还将了解在哪里使用它们以及它们的异同。
在 MYSQL 中的一个查询中执行多个连接
发布时间:2024/03/25 浏览次数:161 分类:MySQL
-
本教程展示了如何在 MySQL 中的一个查询中合并多个连接;无论是内部的还是外部的。我们还展示了定义连接条件的不同方法。