mysql怎么写case
时间 : 2023-08-04 16:47:01声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性
在MySQL中,CASE语句可以根据不同的条件执行不同的操作。它有两种形式:简单CASE表达式和搜索CASE表达式。
1. 简单CASE表达式
简单CASE表达式用于在一系列相等比较中选择出一个结果。它的语法如下:
```sql
CASE case_expression
WHEN value_1 THEN result_1
WHEN value_2 THEN result_2
...
ELSE result_n
END
其中,`case_expression`是要比较的值,`value_1`, `value_2`, ... 是待比较的每个值,`result_1`, `result_2`, ...是每个值对应的结果,`ELSE`后面的`result_n`是当没有匹配项时的默认结果。
下面是一个简单的例子,假设有一个名为`students`的表,包含学生的信息,其中有一个`score`字段表示学生的分数等级,我们可以根据不同的分数等级输出对应的评价。
```sql
SELECT
CASE score
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
WHEN score >= 70 THEN 'C'
WHEN score >= 60 THEN 'D'
ELSE 'F'
END AS grade
FROM
students;
2. 搜索CASE表达式
搜索CASE表达式用于在一系列条件中选择出一个满足条件的结果。它的语法如下:
```sql
CASE
WHEN condition_1 THEN result_1
WHEN condition_2 THEN result_2
...
ELSE result_n
END
其中,`condition_1`, `condition_2`, ...是待判断的条件,`result_1`, `result_2`, ...是每个条件满足时的结果,`ELSE`后面的`result_n`是当没有条件满足时的默认结果。
下面是一个搜索CASE的例子,假设有一个名为`products`的表,包含产品的信息,其中有一个`price`字段表示产品的价格,我们可以根据价格的不同范围输出对应的价格等级。
```sql
SELECT
CASE
WHEN price < 10 THEN 'Low'
WHEN price >= 10 AND price < 50 THEN 'Medium'
WHEN price >= 50 THEN 'High'
ELSE 'Unknown'
END AS price_level
FROM
products;
总之,CASE语句提供了一种在查询中根据不同条件进行分支判断的方式,可以根据具体需求选择简单CASE表达式或搜索CASE表达式。通过合理利用CASE语句,可以实现更灵活和复杂的查询。
https/SSL证书广告优选IDC>>
推荐主题模板更多>>
推荐文章