在MySQL中,SELECT語句中的CASE語句用于根據(jù)條件返回不同的值。它的一般語法格式如下:
SELECT
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END AS alias_name
FROM table_name;
其中,condition1
、condition2
等是邏輯條件,result1
、result2
等是與條件匹配時(shí)返回的值,default_result
是當(dāng)所有條件不匹配時(shí)返回的默認(rèn)值,alias_name
是返回結(jié)果的別名。
以下是一個(gè)示例:
假設(shè)有一個(gè)名為products
的表,其中包含product_id
和product_price
兩列?,F(xiàn)在我們想要根據(jù)產(chǎn)品價(jià)格返回對應(yīng)的價(jià)格范圍:
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;
在這個(gè)例子中,根據(jù)產(chǎn)品價(jià)格不同的范圍,返回對應(yīng)的價(jià)格范圍。如果產(chǎn)品價(jià)格小于50,則返回’Cheap’;如果產(chǎn)品價(jià)格在50到100之間,則返回’Moderate’;如果產(chǎn)品價(jià)格大于100,則返回’Expensive’;否則返回’Unknown’。