查询选修oracle课程并且成绩高于oracle课程平均成绩的学生
时间: 2023-07-05 07:20:59 浏览: 106
好的,你可以使用以下 SQL 语句来查询选修 Oracle 课程且成绩高于该课程平均成绩的学生:
```
SELECT s.student_id, s.student_name, c.course_name, sc.score
FROM student s
JOIN score sc ON s.student_id = sc.student_id
JOIN course c ON sc.course_id = c.course_id
WHERE c.course_name = 'Oracle' AND sc.score > (
SELECT AVG(sc2.score)
FROM score sc2
JOIN course c2 ON sc2.course_id = c2.course_id
WHERE c2.course_name = 'Oracle'
)
```
上述 SQL 语句中,使用 `SELECT` 查询语句查询符合条件的学生信息。首先,使用 `JOIN` 连接三张表(student、score、course),通过学生 ID、课程 ID 进行关联。接着,使用 `WHERE` 子句筛选选修 Oracle 课程的成绩,并且成绩高于该课程平均成绩的学生。在 `WHERE` 子句中,使用子查询获取 Oracle 课程的平均成绩,并与当前行的成绩进行比较。最后,使用 `SELECT` 子句返回学生 ID、学生姓名、课程名称、成绩等信息。
阅读全文