(3) 使用ANY子查询查找学号为0001的学生的分数比0002号的学生的最低分数高的课程编号和分数
时间: 2024-09-18 20:09:05 浏览: 48
在SQL查询中,要查找学号为0001的学生分数高于0002号学生最低分数的课程及其分数,你可以使用嵌套的查询结构,其中外部查询查找0001号学生的成绩,内部查询则找出0002号学生的最低分数。以下是这个查询的一个示例:
```sql
SELECT c.course_id, sc.score
FROM scores sc
INNER JOIN courses c ON sc.course_id = c.course_id
WHERE sc.student_id = '0001' AND sc.score > (
SELECT MIN(score)
FROM scores sc2
WHERE sc2.student_id = '0002'
);
```
这里,外部的`scores`表与`courses`表通过`course_id`关联,然后筛选出0001号学生(`sc.student_id = '0001'`),并且他们的分数`sc.score`大于0002号学生(`sc2.student_id = '0002'`)的最低分数(由内部查询计算得出)。结果返回的是课程编号`course_id`和对应分数`score`。
阅读全文