测试面试题之mysql数据库case when…then…的用法
如题:成绩为90-100的评分为A,成绩为75-89的评分为B,成绩为60-74的评分为C,其余的评分都为D
求出所有学生课程为chinese的评分
思路:select的字段中要加入一个评分(grade),该字段使用case when…then…+条件判断的方法,最后where过滤课程
注意:
如果分数为空,最后else的时候评分会判断为D
具体sql如下:
SELECT name,course,CASE
WHEN score > 90 AND score <= 100 THEN 'A'
WHEN score > 75 AND score <= 89 THEN 'B'
WHEN score > 60 AND score <= 74 THEN 'C'
ELSE 'D' END as grade
FROM
scores
where course = 'chinese'
执行结果如下: