在MySQL中,SELECT語句中的CASE語句用于根據條件返回不同的值。它的一般語法格式如下:
SELECT
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END AS alias_name
FROM table_name;
其中,condition1
、condition2
等是邏輯條件,result1
、result2
等是與條件匹配時返回的值,default_result
是當所有條件不匹配時返回的默認值,alias_name
是返回結果的別名。
以下是一個示例:
假設有一個名為products
的表,其中包含product_id
和product_price
兩列。現在我們想要根據產品價格返回對應的價格范圍:
SELECT
product_id,
product_price,
CASE
WHEN product_price < 50 THEN 'Cheap'
WHEN product_price BETWEEN 50 AND 100 THEN 'Moderate'
WHEN product_price > 100 THEN 'Expensive'
ELSE 'Unknown'
END AS price_range
FROM products;
在這個例子中,根據產品價格不同的范圍,返回對應的價格范圍。如果產品價格小于50,則返回’Cheap’;如果產品價格在50到100之間,則返回’Moderate’;如果產品價格大于100,則返回’Expensive’;否則返回’Unknown’。