sql 有课程表、教师表、选课表和授课表,课程表包含课程号和课程名称,教师表包含教师姓名和教师编号,选课表包含课程号和学号,授课表包含教师编号和课程号4张表,查询每门课程的课程号、任课教师姓名及其选课人数
时间: 2024-06-03 11:11:24 浏览: 152
mysql 查询语句学生表、课程表、 成绩表、教师表.docx
你可以使用以下 SQL 语句来实现该查询:
SELECT c.课程号, t.教师姓名, COUNT(s.学号) AS 选课人数
FROM 课程表 c
INNER JOIN 授课表 r ON c.课程号 = r.课程号
INNER JOIN 教师表 t ON r.教师编号 = t.教师编号
LEFT OUTER JOIN 选课表 s ON c.课程号 = s.课程号
GROUP BY c.课程号, t.教师姓名
ORDER BY c.课程号;
这个查询语句的核心部分是通过多个表之间的 INNER JOIN 和 LEFT OUTER JOIN 来关联课程、教师、选课和授课信息。其中,关联课程和授课信息使用 INNER JOIN,关联教师和授课信息使用 INNER JOIN,关联选课和课程信息使用 LEFT OUTER JOIN。最后,使用 GROUP BY 和 COUNT 函数来统计每门课程的选课人数。
阅读全文