课程,包括没有的选课人数
SELECT Course.Cno, COUNT(SC.Sno) AS NumStudents
FROM Course LEFT JOIN SC ON Course.Cno = SC.Cno
GROUP BY Course.Cno
这个 SQL 语句使用了 LEFT JOIN 操作符来连接 Course 和 SC 两个表。 LEFT JOIN 会返回 Course 表中的所有记录,并且匹配上 SC 表中的对应记录。对于 Course 表中没有对应记录的课程,会在 SC 中填充 NULL 值。
然后使用 COUNT 函数来统计 SC 表中选择这门课的学生数量,并将结果命名为 NumStudents。最后使用 GROUP BY 操作符按照 Course 表中的 Cno 列分组,这样就能够得到每门课的选课人数了。