在MySQL中,CASE语句用于根据条件执行不同的操作。它有两种形式:简单形式和复杂形式。简单形式的语法如下:
sql复制代码CASE expressionWHEN value1 THEN result1WHEN value2 THEN result2...ELSE result END
这里的expression是要评估的表达式,value1、value2等是可能的表达式结果,result1、result2等是与每个表达式结果相关联的操作或值。如果expression的值与任何WHEN子句中的值匹配,则执行相应的THEN子句,否则执行ELSE子句中的操作或值(如果提供)。
以下是一个使用简单形式CASE语句的示例:
sql复制代码SELECT customer_name,CASE WHEN order_count > 10 THEN 'High' WHEN order_count > 5 THEN 'Medium' ELSE 'Low' END AS order_priorityFROM orders;
在这个示例中,根据order_count字段的值,将为每个客户分配一个订单优先级('High'、'Medium'或'Low')。
复杂形式的CASE语句允许在每个WHEN子句中使用多个条件,如下所示:
sql复制代码CASE WHEN condition1 THEN result1WHEN condition2 THEN result2...ELSE result END
你可以根据需要使用简单形式或复杂形式,取决于你的具体需求。