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