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
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