A-A+
若用Student表存储学生信息 Teacher表存储教师信息 Course表存储课程信息
问题详情
若用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))请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:(1)Sno IN(2) AVG(Grade)>85
(1)Sno IN(2) AVG(Grade)>85 解析:SELECT[ALL|DISTINCT]<目标列表达式>[,<目标列表达式>]…
FROM<表名或视图名>[,<表名或视图名>]
[WHERE<条件表达式>]
[GROUP BY<列名1>[HAVING<条件表达式>]]
[ORDER BY<列名2>[ASC|DESC]…]
子句顺序为SELECT、FROM、WHERE、GROUPBY、HAVING、ORDERBY,但SELECT和FROM是必需的,HAVING子句只能与GROUPBY搭配起来使用。
子查询的语意应为“按学号分组、平均分大于85的学生的学号”,可得空(1)应填Sno IN,空(2)应填AVG(Grade)>85。