sql查找每一门课的课程名和选课人数
时间: 2024-10-08 16:15:46 浏览: 152
SQL数据查询——综合练习(一)
5星 · 资源好评率100%
在SQL中,如果你想查找每门课程的名称(course_name)及其选课人数(enrollment),你可以使用以下查询,假设有一个名为`courses`的表,其中包含`course_id`, `course_name`字段,以及一个名为`enrollments`的关联表,存储了学生对课程的选择(例如`student_id`和`course_id`):
```sql
SELECT c.course_name, COUNT(e.student_id) AS enrollment_count
FROM courses c
LEFT JOIN enrollments e ON c.course_id = e.course_id
GROUP BY c.course_id, c.course_name;
```
这个查询的工作原理如下:
1. 使用`LEFT JOIN`将`courses`表与`enrollments`表连接,基于它们的`course_id`字段。
2. 对于每个课程,计算`enrollments`表中匹配的`student_id`的数量,这表示该课程的选课人数。
3. 使用`GROUP BY`按`course_id`和`course_name`对结果进行分组,确保每个课程及其名字只显示一次,并且每个条目显示其对应的选课人数。
阅读全文