问题 问答题

在一个教务管理系统中,设有如下关系表:
学生(学号,姓名,性别,年龄,班级)
教师(教师号,教师名,职称,系别)
课程(课程号,课程名,教师号)
选课(学号,课程号,成绩)
其中,学号、教师号和课程号分别是学生表、教师表和课程表的主码。
请用SQL语句完成如下操作:
①以系为单位,统计每个系教师所有课程成绩的平均分。
②统计各门课程的选课人数,并按从高到低的顺序进行排列。
③列出“计算机系”所有教授“数据结构”课程的教师的姓名和职称。
④统计每门课程成绩未达到60分的学生人数和课程名并按人数降序进行排列。
⑤列出课程成绩未达该门课程平均分的学生姓名、课程名和分数。

答案

参考答案:①Select AVG(成绩),系别From教师,课程,选课Where教师,教师号=课程,教师号and课程,课程号=选课,课程号Group by系别
②Select课程名,count(*)From课程,选课Where选课,课程号=课程,课程号
Group by课程名Order by 2 desc
③Select distinct教师名,职称From教师,课程,选课
Where课程,课程号=选课,课程号and选课.教师号=教师,教师号and教师,系别=’计算机系’and课程名=’数据结构’
④Select count(*),课程名From课程.选课Where课程.课程号=选课.课程号and成绩<60
Group by课程.课程名Order by 1 DESC
⑤Select姓名,课程名,成绩From选课as a,学生,课程Where学生.学号=a.学号and课程.课程号=a.课程号and成绩<(Select AVG(成绩)From选课as b Where a.课程号=b.课程号)

名词解释
判断题