一、MySQLCaseWhen的基本語法
MySQL中,CASE WHEN語法是一種操作符,可以根據一個或多個條件執行不同的操作。
其基本語法為:
CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 WHEN conditionN THEN resultN ELSE result END;
其中,CASE是操作符的名稱,condition1, condition2, conditionN是條件,result1, result2, resultN是對應條件的結果,ELSE result是當所有條件都不成立時返回的結果。
二、MySQLCaseWhen多個條件的使用
MySQLCaseWhen語法可以同時處理多個條件,只需要在WHEN之後再添加一個條件即可。
例如,我們可以使用MySQLCaseWhen多個條件來查詢一個成績區間的所有學生:
SELECT student_name, CASE WHEN score 60 and score 70 and score 80 and score <= 90 THEN '良好' ELSE '優秀' END as '成績等級' FROM students;
以上語句會查詢students表中每個學生的成績,並將成績按照條件進行分類,最後返回學生名稱和成績等級。
三、使用MySQLCaseWhen進行關聯選取
MySQLCaseWhen還可以用於多張表的關聯選取,通過CASE語句可以實現在不同表中根據不同條件查詢返回相應的結果。
例如,我們可以使用MySQLCaseWhen在兩個表中查詢每個產品的總銷售量和銷售價格:
SELECT p.product_name, CASE WHEN sum(o.quantity) = 50 and sum(o.quantity) < 100 THEN '中等銷量' ELSE '高銷量' END as '銷售量', CASE WHEN avg(o.price) = 10 and avg(o.price) < 50 THEN '中等價產品' ELSE '高價產品' END as '價格段' FROM products p JOIN orders o ON p.product_id = o.product_id GROUP BY p.product_name;
以上語句會查詢出products表中每個產品的總銷售量和平均銷售價格,並將銷售量和價格段按照條件分類,最後返回產品名稱、銷售量和價格段。
四、使用MySQLCaseWhen進行數據轉換
MySQLCaseWhen還可以用於數據轉換,例如將數據類型從字元串轉換為數字,或從數字轉換為字元串。
例如,我們可以使用MySQLCaseWhen將gender欄位從字元串類型轉換為數字類型:
SELECT student_name, CASE WHEN gender = 'male' THEN 1 ELSE 0 END as 'gender_num' FROM students;
以上語句會查詢出students表中每個學生的姓名和性別,並將性別轉換為數字類型,male為1,female為0。
五、使用MySQLCaseWhen進行數據篩選
MySQLCaseWhen還可以用於數據篩選,例如通過條件篩選出滿足條件的數據。
例如,我們可以使用MySQLCaseWhen將查詢出僱員工資大於2000的信息:
SELECT e.last_name, e.salary, CASE WHEN salary > 2000 THEN '高薪' ELSE '低薪' END as '薪資水平' FROM employees e; WHERE salary > 2000;
以上語句會查詢出employees表中工資大於2000的員工信息,並將工資按照條件分類,最後返回員工姓名、工資和薪資水平。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/249064.html