CASE WHEN语句是一种在SQL中进行条件判断和分支选择的方式。它的语法如下:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
其中,condition1
, condition2
, …是条件表达式,result1
, result2
, …是根据条件表达式的结果返回的值,result
是默认情况下返回的值。
以下是一个示例,说明如何使用CASE WHEN语句:
假设有一个名为orders
的表,其中包含订单号(order_id
)和订单金额(amount
)两个列。我们想要根据订单金额的大小,给每个订单添加一个级别(高、中、低)。可以使用CASE WHEN语句来实现:
SELECT order_id, amount,
CASE
WHEN amount > 1000 THEN '高'
WHEN amount > 500 THEN '中'
ELSE '低'
END AS level
FROM orders;
上述示例中,根据订单金额的大小,使用CASE WHEN语句添加了一个名为level
的新列。如果订单金额大于1000,则level
为’高’;如果订单金额大于500,则level
为’中’;否则level
为’低’。
注意:在使用CASE WHEN语句时,条件表达式的顺序很重要。条件表达式按照顺序进行判断,一旦满足某个条件,就会返回对应的结果,并且不再继续判断后续条件。因此,应该将满足范围最小的条件放在最后。