MySQL CASE 的使用
MySQL中的CASE语句通常用来实现多个条件分支,类似于其他编程语言中的switch/case语句。它的基本语法如下:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
其中,condition1、condition2等为条件表达式,result1、result2等为匹配时的结果,default_result为默认结果,即所有条件均不满足时的结果。
阅读更多:MySQL 教程
示例
假设有一个名为students的表,其中包含三个字段:id,name和score。现在要根据学生的成绩分数将其分为不同的等级,可以使用如下SQL语句:
SELECT
name,
score,
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
WHEN score >= 70 THEN 'C'
ELSE 'D'
END AS grade
FROM
students;
运行结果如下:
+--------+-------+-------+
| name | score | grade |
+--------+-------+-------+
| 张三 | 75 | C |
| 李四 | 85 | B |
| 王五 | 95 | A |
| 赵六 | 60 | D |
+--------+-------+-------+
CASE的使用场景
除了上述分数等级的示例,CASE语句还可以用于其他场景,例如:
- 判断某个字段所属的范围;
- 根据条件动态计算某个字段的值;
- 将某个字段转换成不同的值等。
总结
MySQL中的CASE语句提供了一种灵活的多分支条件判断方式,适用于各种场景。在使用时需要注意CASE END语句要与SELECT等操作符一起使用,且格式一定要正确,否则将会导致语句执行失败。
极客教程