写一个casewhen的视图sql
时间: 2023-11-08 07:19:40 浏览: 84
假设有一个表格"students",其中包含学生的姓名、年龄和成绩。现在需要创建一个视图,根据成绩将学生分为优秀、良好、及格和不及格四个等级,视图的结果应该包含学生姓名、年龄、成绩和等级四个字段。
CREATE VIEW student_grades AS
SELECT name, age, grade,
CASE
WHEN grade >= 90 THEN '优秀'
WHEN grade >= 80 THEN '良好'
WHEN grade >= 60 THEN '及格'
ELSE '不及格'
END AS grade_level
FROM students;
以上代码将创建一个名为"student_grades"的视图,该视图将学生分为四个等级并显示其等级。可以通过以下方式查询视图:
SELECT * FROM student_grades;
查询结果将包含学生姓名、年龄、成绩和等级四个字段。
相关问题
casewhen用法sql
好的,casewhen是SQL中的条件表达式,可以根据条件返回不同的值。其基本语法如下:
CASE expression
WHEN value1 THEN result1
WHEN value2 THEN result2
...
ELSE default_result
END
其中,expression是要进行判断的表达式,value1、value2等是expression可能取到的值,result1、result2等是对应的返回结果。如果expression取到的值与所有value都不匹配,则返回default_result。
举个例子,假设有一个学生成绩表,我们想根据成绩将学生分为优秀、良好、及格和不及格四个等级,可以使用如下语句:
SELECT name, score,
CASE
WHEN score >= 90 THEN '优秀'
WHEN score >= 80 THEN '良好'
WHEN score >= 60 THEN '及格'
ELSE '不及格'
END AS level
FROM student;
这样就可以得到每个学生的成绩等级了。
sql casewhen
CASE WHEN是SQL中的一种条件表达式,它可以根据一个或多个条件来返回不同的结果。它的语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,condition1、condition2等是条件表达式,result1、result2等是满足条件时返回的结果。ELSE子句是可选的,当没有条件满足时返回的默认结果。
下面是一个示例,根据不同的成绩范围返回对应的等级:
```
SELECT grade,
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_level
FROM students;
```
在这个例子中,根据学生的分数(score)判断等级(A、B、C、D、F),并将结果作为grade_level列返回。
阅读全文