SQL语句,已知Student、Course和SC表,查询计算机系学生的考试情况,列出学号、姓名、考试课程名、考试成绩及成绩排名。
时间: 2023-06-12 19:04:31 浏览: 176
SQL学生成绩查询
4星 · 用户满意度95%
可以使用以下 SQL 语句查询:
```
SELECT s.ID AS 学号, s.Name AS 姓名, c.Name AS 考试课程名, sc.Score AS 考试成绩,
(SELECT COUNT(*) FROM SC sc2 WHERE sc2.CourseID = sc.CourseID AND sc2.Score > sc.Score) AS 成绩排名
FROM Student s
JOIN SC sc ON s.ID = sc.StudentID
JOIN Course c ON sc.CourseID = c.ID
WHERE s.Department = '计算机系'
ORDER BY sc.CourseID, sc.Score DESC;
```
解释:
1. 使用 `JOIN` 将学生、课程和成绩表连接起来。
2. 使用嵌套查询计算成绩排名,即查询与当前学生在同一门课程中成绩高于当前学生的学生数量。
3. 使用 `WHERE` 子句过滤出计算机系的学生。
4. 使用 `ORDER BY` 子句按照课程和成绩进行排序,以便进行结果展示。
阅读全文