sql查询“001”课程比“002”课程成绩高的所有学生的学号
时间: 2023-10-26 17:04:49 浏览: 169
查询数据库中所有有成绩的学生的学号和课程号
4星 · 用户满意度95%
可以使用以下 SQL 查询语句来实现:
```
SELECT s.student_id
FROM scores s
WHERE s.course_id = '001' AND s.score > (SELECT score FROM scores WHERE student_id = s.student_id AND course_id = '002')
```
其中,`scores` 表存储了每个学生在每个课程中的成绩,包括学生 ID(`student_id`),课程 ID(`course_id`)和分数(`score`)。该查询语句首先从 `scores` 表中选取所有选修了课程 ID 为“001”的学生(`WHERE s.course_id = '001'`),然后通过子查询比较每个学生在课程 ID 为“001”和“002”中的成绩,只有当“001”课程的成绩高于“002”课程时才会被选中(`s.score > (SELECT score FROM scores WHERE student_id = s.student_id AND course_id = '002')`)。最终返回选中学生的学号(`s.student_id`)。
阅读全文