[说明] 某学校的教学系统描述如下: 学生信息包括:学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、入学年份(Syear)、主修专业(Smajor),其中学号是入学时唯一编定的。 教师信息包括:教工号(Tno)、姓

admin2012-02-20  19

问题 [说明]
   某学校的教学系统描述如下:
   学生信息包括:学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、入学年份(Syear)、主修专业(Smajor),其中学号是入学时唯一编定的。
   教师信息包括:教工号(Tno)、姓名(Tname)、性别(Tsex)、年龄(Tage)、职称(Title),其中教工号是唯一编定的。
   课程信息包括:课程号(Cno)、课程名称(Cname)、学时(Cpeiiod)、学分(Ccredit),其中课程号是唯一编定的。
   每个专业每个年级只有一个班级,这样班级就可用入学年份标识。
   每位教师只教授特定的一门的课程,每门课程可以有多个教师教授,各位老师的上课地点及上课时间有所不同。注意:一门课程至少有一位教师教授,否则这门课程就视为不存在。
   每位学生可以同时选修多门不同的课程,一门课程至少要有10位学生选修,否则就取消这门课程的开设。注意:选修课程时要指定任课教师,不能重复选修同一门课程。课程结束后,任课教师给选修该课程的学生一个成绩(Grade)。注意:教师不能给没有选修他所教授课程的学生成绩,即使选修了其他教师教授的同一门课也不行。
   图2-1是经分析得到的E-R图。
   [图2-1]

若用Student表存储学生信息,Teacher表存储教师信息,Course表存储课程信息,Study表存储学生选修课程情况。教务处想要“查询2006年入学的计算机专业(CS)的学生中平均成绩在85分以上的学生信息”。请将以下SQL语句补充完整。注:用对应英文表示。
   SELECT * FROM student WHERE Smajor = "CS" AND Syear = "2006"
   AND  (1)  
   (SELECT Sno FROM Study GROUP BY Sno
   HAVING  (2)  )

选项

答案Sno IN (2)AVG(Grade)>85 SELECT [ALL|DISTINCT]<目标列表达式>[,(目标列表达式>]… FROM <表名或视图名>[,<表名或视图名>] [WHERE(条件表达式>] [GROUI BY <列名1>[HAVING<条件表达式>]] [ORDER BY <列名2>[ASC|DESC]…] 子句顺序为SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY,但SELECT和FROM是必须的,HAVING子句只能与GROUP BY搭配起来使用。 子查询的语意应为“按学号分组、平均分大于85的学生的学号”,可得空(1)应填Sno IN,空(2)应填AVG(Grade)>85。

解析
转载请注明原文地址:https://jikaoti.com/ti/93i7FFFM
0

相关试题推荐
随机试题
最新回复(0)