sql查询开设的课程中选课人数不足15人的课程号及人数信息,包括没人选的课程

动态 未结 0 80
小小草
小小草 LV1 2023年9月23日 23:40 发表
可以使用 LEFT JOIN 和 GROUP BY 子句来查询开设的课程中选课人数不足15人的课程号及人数信息,包括没人选的课程。以下是一种可能的 SQL 语句: ``` SELECT courses.id, COUNT(scores.student_id) AS num_students FROM courses LEFT JOIN scores ON courses.id = scores.course_id GROUP BY courses.id HAVING COUNT(scores.student_id) < 15 OR COUNT(scores.student_id) IS NULL; ``` 解释一下这个 SQL 语句: 1. 首先在 FROM 子句中列出需要查询的表。 2. 然后使用 LEFT JOIN 连接 courses 表和 scores 表,以便获取每门课程的选课人数。 3. 在 SELECT 子句中选择课程号和选课人数,并使用 COUNT 函数计算选课人数。 4. 在 GROUP BY 子句中按照课程号分组。 5. 最后使用 HAVING 子句筛选出选课人数不足15人或者没有人选的课程。 需要注意的是,由于要包括没有人选的课程,所以需要使用 LEFT JOIN 而不是 INNER JOIN。
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复