求sql语句:多表联查。学生、教师、班级、课程、排课计划、成绩
来源:百度知道 编辑:UC知道 时间:2024/05/24 04:38:38
一共6个表,希望有好心人,慢慢看看,给个解决方法。谢谢了。我尽量写得明了……
教师表:
teaid (主键) ¦ teaname
班级表:
clsid (主键) ¦ clsname
学生表:
stuid (主键) ¦ stuname ¦ clsid(与班级表外键关联)
课程表:
couid (主键) ¦ couname
排课计划表:(==就是哪个教师教哪个班的哪个课程==)
planid (主键) ¦ classid (与班级表外键关联) ¦ teaid (与教师表外键关联) ¦ couid(与课程表外键关联)
成绩表:
scorid (主键) ¦ stuid(与学生表外键关联) ¦ planid(与排课计划表外键关联) ¦ score(成绩,分数)
数据表的结构如上,应该说清楚了。我的问题是:现在要查看学生的成绩信息,要求显示学生的学号、姓名、班级、每一课程的名称、分数、任课教师!我觉得太复杂了。怎么也想不怎么写语句。所以,来这里求救了。谢谢大家,谢谢细心人!
我的分全部都给出来了。
教师表:
teaid (主键) ¦ teaname
班级表:
clsid (主键) ¦ clsname
学生表:
stuid (主键) ¦ stuname ¦ clsid(与班级表外键关联)
课程表:
couid (主键) ¦ couname
排课计划表:(==就是哪个教师教哪个班的哪个课程==)
planid (主键) ¦ classid (与班级表外键关联) ¦ teaid (与教师表外键关联) ¦ couid(与课程表外键关联)
成绩表:
scorid (主键) ¦ stuid(与学生表外键关联) ¦ planid(与排课计划表外键关联) ¦ score(成绩,分数)
数据表的结构如上,应该说清楚了。我的问题是:现在要查看学生的成绩信息,要求显示学生的学号、姓名、班级、每一课程的名称、分数、任课教师!我觉得太复杂了。怎么也想不怎么写语句。所以,来这里求救了。谢谢大家,谢谢细心人!
我的分全部都给出来了。
select a.stuid,a.stuname,b.clsname,c.couname,d.score,e.teaname from 成绩表 as d left join 学生表 as a on d.stuid=a.stuid left join 班级表 as b on a.clsid=b.clsid left join 排课计划表 as f on d.planid=f.planid left join 课程表 as c on f.couid=d.couid left join 教师表 as e on f.teaid=e.teaid
试试吧,应该可以
看看