数据库设计:教师、课程和班级关系的实现及SQL查询示例
'@1 教师和课程之间是一对多的关系,一个教师可以教授多门课程,但一门课程只能由一个教师教授。在表中可以通过在教师表中添加一个课程id字段来表示该教师所教授的课程。
'@2 教师和班级之间是多对多的关系,一个教师可以教多个班级,一个班级也可以有多个教师。可以通过建立一个中间表来实现这种关系,中间表中包含教师id和班级id两个字段,表示该教师教授了该班级。
SQL语句如下:
'@3 SELECT * FROM 老师表 LIMIT 1, 3; SELECT * FROM 课程表 LIMIT 1, 3;
'@4 SELECT 姓名, 教龄 FROM 老师表 ORDER BY 教龄 DESC LIMIT 1;
'@5 SELECT 开设学期, COUNT(*) AS 课程数量, SUM(课程学分) AS 总学分 FROM 课程表 GROUP BY 开设学期;
'@6 SELECT 班级名, COUNT(*) AS 老师数量 FROM 教师表 INNER JOIN 班级表 ON 教师表.班级id = 班级表.id GROUP BY 班级名;
'@7 SELECT * FROM 课程表 WHERE id NOT IN (SELECT kid FROM 老师表);
原文地址: https://www.cveoy.top/t/topic/o3pw 著作权归作者所有。请勿转载和采集!