数据库采用游标方式输出各班各课程的平均分,第一个student有学号和班号,第二个course 有课程号,第三个score有分数。要SQL语句
时间: 2024-12-15 21:19:30 浏览: 8
oracle数据库设计课程设计-学生选课数据库的设计及管理.doc
在数据库中,如果你想通过游标查询并计算各班各课程的平均分,你可以使用如下的SQL语句作为起点。假设我们有一个名为`students`的表记录学生的学号和班号,一个名为`courses`的表记录课程信息,还有一个名为`scores`的表记录每个学生对每个课程的成绩。这是一个基本的例子:
```sql
SELECT s.class_id, c.course_code, AVG(sc.score) as average_score
FROM students s
JOIN scores sc ON s.student_id = sc.student_id
JOIN courses c ON sc.course_id = c.course_id
GROUP BY s.class_id, c.course_code;
```
这个查询做了以下几件事:
- `JOIN` 三个表:`students`, `scores`, 和 `courses` 通过学生学号和课程ID关联起来。
- `GROUP BY` 按照班级(class_id)和课程(course_code)分组,这样每个组合都会有一个单独的行。
- `AVG(sc.score)` 计算每个组合的平均分数。
执行此查询后,你会得到一个结果集,包含每个班级的每个课程的平均成绩。
阅读全文