如何使用MySQL查询每个课程的所有学生平均成绩?
时间: 2024-10-22 17:25:33 浏览: 60
学生成绩管理系统 Mysql,学生成绩管理系统mysql课程设计,Java
5星 · 资源好评率100%
在MySQL中,你可以通过联接学生表(假设为student)和课程表(假设为course),然后对每个课程的学生的成绩取平均值来实现这个需求。这里是一个基本的SQL查询示例:
```sql
SELECT c.course_id, c.course_name, AVG(s.score) AS average_score
FROM course c
JOIN student_enrollment se ON c.course_id = se.course_id
JOIN score s ON se.student_id = s.student_id
GROUP BY c.course_id, c.course_name;
```
解释一下这个查询:
1. `JOIN`用于将三个表(course、student_enrollment 和 score)连接在一起,基于它们之间的关联(如course_id和student_id)。
2. `AVG(s.score)` 计算每个学生的平均分数(score)。
3. `GROUP BY c.course_id, c.course_name` 将结果按课程ID和名称分组,这样每个课程的结果都会包含其平均成绩。
阅读全文