在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’。