MySQL中CASE WHEN用法总结
在MySQL中,CASE WHEN语句是一种条件表达式,用于在查询中进行条件判断和逻辑分支控制。它类似于编程语言中的switch语句,可以根据条件的不同执行不同的逻辑。
CASE WHEN语法
CASE WHEN语句的基本语法如下所示:
CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE default_result END
其中,condition1
、condition2
等是条件表达式,result1
、result2
等是与条件匹配时返回的结果,default_result
是当所有条件都不满足时返回的默认结果。
示例
让我们通过一个简单的示例来说明CASE WHEN语句的用法。假设我们有一个学生成绩表,包含学生姓名(name)和考试成绩(score),我们想要根据成绩的不同,给出不同的评价。
SELECT name, CASE WHEN score >= 90 THEN '优秀' WHEN score >= 80 THEN '良好' WHEN score >= 60 THEN '及格' ELSE '不及格' END AS evaluation FROM student_scores;
上面的查询将根据不同的成绩给出不同的评价,如果成绩大于等于90分,则评价为“优秀”;如果成绩大于等于80分,则评价为“良好”;如果成绩大于等于60分,则评价为“及格”;否则评价为“不及格”。
注意事项
- CASE WHEN语句可以嵌套使用,以实现更复杂的逻辑判断。
- 在MySQL中,CASE WHEN语句可以用于SELECT、WHERE、ORDER BY等子句中。
- 在使用CASE WHEN语句时,应确保条件的顺序和范围正确,以避免逻辑错误。
结论
CASE WHEN语句是MySQL中非常强大和灵活的条件表达式,能够根据不同的条件执行不同的逻辑分支。