MySQL 中的 IF 语句

Preet Sanghavi 2022年5月14日
MySQL 中的 IF 语句

在本教程中,我们旨在学习如何在 MySQL 中使用 IF 语句。

MySQL 中 IF 语句的语法可以表示为 SELECT IF(condition, result_when_true, result_when_false) AS [col_name]

特别是 IF 语句,条件是程序员定义的需要评估的标准。

它可以包含一个或多个列以供考虑。例如,要检查列中的特定值是否大于 200,我们可以写一个条件 if name_of_column > 100。

result_when_true 值表示如果评估为真,我们希望根据条件显示的输出值。另一方面,result_when_false 值表示计算条件为假时显示的输出值。

让我们试着通过一个例子来了解更多关于这个语句的信息。

然而,在我们开始之前,我们创建了一个虚拟数据集来使用。在这里,我们创建了一个表,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

现在,让我们的目标是在 stu_id 大于 3 时将 Yes 与学生的名字一起打印。否则,我们在名为 high_stu_id 的单独列中打印 No

MySQL 中的 IF 语句

从上面的语法可以看出,MySQL 中的 IF 语句需要一个条件。这与 CASE 语句类似。

我们可以利用以下程序在 MySQL 中获得所需的结果。

SELECT stu_firstName, IF(stu_id>3,"yes","no") AS high_stu_id
FROM student_details;

上述代码获取每个学生的名字和一个名为 high_stu_id 的新列。

如果学生的 stu_id 大于 3,则此结果列的值为 Yes。否则,如果 stu_id 小于 3,则打印值 No

上面代码的输出可以可视化如下:

stu_firstName	high_stu_id
Preet				no
Rich				no
Veron				no
Geo					yes
Hash				yes
Sachin				yes
David				yes

同样,我们可以使用 IF 语句来利用数据并满足我们的要求。IF 语句的替代方案是 MySQL 中的 CASE 语句。

因此,在本教程的帮助下,我们现在可以在 MySQL 中成功实现 IF 语句。

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

相关文章 - MySQL Statement