CASE 類似於程式語言裡的 if/then/else 語句,用來作邏輯判斷。
CASE
WHEN condition THEN result
[WHEN···]
[ELSE result]
END;
若省略了 ELSE 子句且洽無相符的條件則會返回 NULL。
假設我們作一個問卷調查:您喜歡這個網站嗎? 1.喜歡 2.不喜歡 3.還OK
問卷結果資料表 questionnaire 如下:
姓名 | 評價 |
---|---|
李大華 | 1 |
李小明 | 2 |
張小華 | 2 |
林小帥 | 3 |
林大帥 | 2 |
簡平安 | 3 |
我們可以作以下這個 SQL 查詢:
select 姓名, case 評價
when 1 then '喜歡'
when 2 then '不喜歡'
when 3 then '還OK'
END
FROM questionnaire;
查詢結果如下:
姓名 | 評價 |
---|---|
李大華 | 喜歡 |
李小明 | 不喜歡 |
張小華 | 不喜歡 |
林小帥 | 還OK |
林大帥 | 不喜歡 |
簡平安 | 還OK |
下篇見