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