假设有两个表,一个是学生表(Student),另一个是学生选课表(SC),SQL查询每个班级的学生人数及其总平均成绩
时间: 2024-05-15 07:15:44 浏览: 246
基于C#+SQL Server(CS界面)学生选课及成绩查询管理系统【100010027】
5星 · 资源好评率100%
可以使用以下SQL语句实现:
```
SELECT Student.class, COUNT(DISTINCT Student.id) AS student_count, AVG(SC.score) AS avg_score
FROM Student
LEFT JOIN SC ON Student.id = SC.student_id
GROUP BY Student.class;
```
解释:
1. 首先从学生表中查询班级信息,并按照班级进行分组,使用`GROUP BY`语句实现。
2. 然后使用`LEFT JOIN`语句将学生表和学生选课表连接起来,连接条件是学生表的`id`字段和选课表的`student_id`字段相等。
3. 在`SELECT`语句中,使用`COUNT(DISTINCT Student.id)`来计算每个班级的学生人数,使用`AVG(SC.score)`来计算每个班级的学生平均成绩。
4. 最后得到的结果是每个班级的学生人数和平均成绩。
阅读全文