sql语句查询sc表,查询结果列标题分别显示为:学号,课程号,成绩,成绩等级。“成绩等级”情况为:如果学生成绩高于90分(含),则等级为”优秀”;如果学生成绩为80-89,则等级为“良好”;如果学生成绩为60-79,则等级为“及格”;否则为“不及格”。
时间: 2023-06-14 11:04:17 浏览: 978
可以使用 CASE WHEN 语句来实现这个需求,具体的 SQL 查询语句如下:
```
SELECT 学号, 课程号, 成绩,
CASE
WHEN 成绩 >= 90 THEN '优秀'
WHEN 成绩 >= 80 THEN '良好'
WHEN 成绩 >= 60 THEN '及格'
ELSE '不及格'
END AS 成绩等级
FROM sc;
```
其中,CASE WHEN 语句用于判断成绩所在的范围,并将对应的等级输出为“成绩等级”列的值。
相关问题
SQL语句查询课程号为0101001的成绩排名前三的学生的成绩
好的,以下是查询课程号为0101001的成绩排名前三的学生的成绩的 SQL 语句:
```
SELECT s.name, s.id, sc.score
FROM score AS sc
JOIN student AS s ON sc.student_id = s.id
WHERE sc.course_id = '0101001'
ORDER BY sc.score DESC
LIMIT 3;
```
这个 SQL 语句会从成绩表(score)中查询课程号为0101001的成绩,然后与学生表(student)进行关联,以获取学生的姓名和学号信息。最后,它会按照成绩从高到低的顺序排序,并只返回前三个结果。
SQL语句查询每个学生的学号、姓名、选修的课程号、课程名和成绩
可以使用如下的 SQL 语句来查询每个学生的学号、姓名、选修的课程号、课程名和成绩:
```
SELECT s.id AS 学号, s.name AS 姓名, c.id AS 课程号, c.name AS 课程名, sc.score AS 成绩
FROM student s
INNER JOIN score sc ON s.id = sc.stu_id
INNER JOIN course c ON sc.course_id = c.id;
```
其中,`student` 表存储了学生的信息,包括学号和姓名;`course` 表存储了课程的信息,包括课程号和课程名;`score` 表存储了学生选修的课程和对应的成绩,包括学生的学号、课程号和成绩。通过 `INNER JOIN` 连接这三个表,就可以查询到每个学生的学号、姓名、选修的课程号、课程名和成绩。
阅读全文