SQL中,CASE...WHEN
表达式用于在查询结果中根据条件返回不同的值。它的语法通常如下:
CASEWHEN condition1 THEN result1WHEN condition2 THEN result2...ELSE default_result
END
下面是一个简单的例子,演示了如何使用CASE...WHEN
表达式:
SELECT student_name,CASEWHEN score >= 90 THEN 'A'WHEN score >= 80 THEN 'B'WHEN score >= 70 THEN 'C'WHEN score >= 60 THEN 'D'ELSE 'F'END AS grade
FROM student_scores;
在这个例子中,根据学生的分数来判断其等级(A、B、C、D、F),并将结果作为新的列返回。如果学生的分数大于等于90,那么他们的等级是'A',如果分数在80到90之间,等级是'B',以此类推。最后一个ELSE
子句指定了默认的等级为'F'。
CASE...WHEN
表达式可以嵌套使用,也可以在SELECT
、WHERE
、ORDER BY
等语句中使用,用于根据不同的条件生成不同的结果。这使得它成为SQL中非常灵活和强大的工具之一。