使用SQL命令查询每门课程的课程号,选课人数,以及每门课程中每次作业的平均分
时间: 2024-10-24 13:03:49 浏览: 39
要查询每门课程的课程号、选课人数以及每门课程中每次作业的平均分,通常需要访问包含课程信息、学生选课信息和作业成绩的数据表。假设我们有三个相关的表:`Courses`, `Enrollments`, 和 `Grades`,它们的结构如下:
- `Courses` (课程表): CourseID (课程号), CourseName
- `Enrollments` (选课表): StudentID, CourseID
- `Grades` (成绩表): AssignmentID, CourseID, Grade
你可以使用以下SQL查询来获取所需的信息:
```sql
SELECT
c.CourseID AS '课程号',
COUNT(e.StudentID) AS '选课人数',
AVG(g.Grade) AS '平均分'
FROM
Courses c
LEFT JOIN
Enrollments e ON c.CourseID = e.CourseID
GROUP BY
c.CourseID;
```
这个查询做了以下操作:
1. 通过`Courses`表的`CourseID`与`Enrollments`表的`CourseID`关联,获取每门课程的选课记录。
2. 计算每个`CourseID`下的`StudentID`数量,即选课人数。
3. 使用`LEFT JOIN`确保即使某些课程没有作业成绩,也可以得到该课程的选课人数(默认平均分为0)。
4. 对结果按`CourseID`分组,并计算每个课程的作业平均分。
阅读全文