介紹
MySQL的CASE WHEN語句用于在SQL查詢中根據特定條件對某些字段進行操作,在某些情況下可以很方便地替代常用的IF語句。
基本語法
以下是基本的CASE WHEN語句格式:
[SELECT column1, CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE resultN END FROM table_name];
其中第一個參數column1是要檢索的列名,后面的多個WHEN語句根據條件進行操作,并返回所需的結果,ELSE語句用于定義當所有條件不符合時的默認操作。
示例一:根據成績進行評級
以下例子使用CASE WHEN語句根據學生成績進行評級:
SELECT name, score, CASE WHEN score >= 90 THEN 'A' WHEN score >= 80 THEN 'B' WHEN score >= 70 THEN 'C' ELSE 'D' END AS grade FROM students;
上面的例子將返回每個學生的姓名、分數和評級,評級是根據學生的分數進行判斷,分數在不同的區間時,評級也不同。
示例二:根據客戶類型設置折扣
以下示例使用CASE WHEN語句根據客戶類型自動設置相應的折扣:
SELECT customer_name, order_total, CASE WHEN customer_type = 'Premium' THEN order_total * 0.2 WHEN customer_type = 'Regular' THEN order_total * 0.1 ELSE order_total * 0.05 END AS discount FROM orders;
上面的例子中,根據訂單的總額和客戶類型進行運算,并將結果命名為discount列,以便在查詢結果中顯示。
總結
MySQL的CASE WHEN語句在SQL查詢中非常有用,它可以根據特定條件對某些字段進行操作,并返回所需的結果。它的語法也比IF語句簡單易懂,實現起來也更加方便。在實際應用中,可以根據需要靈活運用。