问答题
若用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。