语法如下:
SELECT CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 WHEN conditionN THEN resultN ELSE result END FROM table_name;
其中:
- CASE…END表示开始和结束CASE语句的标志。
- WHEN表示条件。
- THEN表示条件成立时返回的结果。
- ELSE表示上述条件都不成立时返回的结果。
下面是一个简单的例子,假设大家有一张学生成绩表,并且大家需要根据不同的成绩判断学生的等级:
SELECT student_name, CASE WHEN score >= 90 THEN '优秀' WHEN score >= 80 THEN '良好' WHEN score >= 60 THEN '及格' ELSE '不及格' END AS level FROM score_table;
以上代码中,大家通过CASE语句来判断学生的成绩等级并将结果赋值给别名为level的新列,从而得到以下结果:
+--------------+-------+ | student_name | level | +--------------+-------+ | Tom | 优秀 | | Jack | 及格 | | Lily | 良好 | | Mike | 及格 | | Jane | 不及格 | +--------------+-------+
在使用CASE语句时,大家还可以通过添加逻辑运算符来实现多条件判断。例如,在上述例子中,大家可以按照以下方式来判断学生的成绩等级:
SELECT student_name, CASE WHEN score >= 90 THEN '优秀' WHEN score >= 80 AND score= 60 AND score< 80 THEN '及格' ELSE '不及格' END AS level FROM score_table;
以上代码中,大家使用了AND运算符来实现分数在不同区间的多条件判断,从而得到以下结果:
+--------------+-------+ | student_name | level | +--------------+-------+ | Tom | 优秀 | | Jack | 及格 | | Lily | 良好 | | Mike | 及格 | | Jane | 不及格 | +--------------+-------+
总结来说,使用MySQL的CASE多条件判断语句可以帮助大家根据不同条件执行不同操作,提高SQL语句的灵活性和可读性。