MySQL CASE 的使用

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,namescore。现在要根据学生的成绩分数将其分为不同的等级,可以使用如下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等操作符一起使用,且格式一定要正确,否则将会导致语句执行失败。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程