SQL中,CASE...WHEN
表达式用于在查询结果中根据条件返回不同的值。它的语法通常如下:
sql
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
下面是一个简单的例子,演示了如何使用CASE...WHEN
表达式:
sql
SELECT
student_name,
CASE
WHEN 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中非常灵活和强大的工具之一。