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
语句。