问题
单项选择题
关系模式SCS(Sno,Cno,Score)中,Sno是学生学号,Cno是课程号,Score是成绩。若要查询每门课成绩的平均成绩,且要求查询结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列,可用SQL语言写为 (33) 。若查询结果仅限于平均分数超过85分的,则应 (34) 。
A.在FROM予句后加入:WHERE AVG(*)>85
B.在FROM予句后加入:WHERE AVG(Score)>85
C.在GROUP BY子句前加入:HAVING AVG(Score)>85
D.在GROUP BY子句中加入:HAVING AVG(Score)>85
答案
参考答案:D
解析:SELECT [ALL|DIsTINCT]<目标列表达式>[,<目标列表达式>]…
FROM <表名或视图名>[,<表名或视图名>]
[WHERE <条件表达式>]
[GROUP BY<列名1>[HAVING<条件表达式>]]
[ORDER BY<列名2>[ASClDESC]…]
子句顺序为SELECT、FROM、WHERE、GRO[JP BY、HAvING、ORDER BY,但SELECT和FROM是必须的,HAVING子句只能与GROUP BY搭配起来使用。SELECT予句对应的是关系代数中的投影运算,用来列出查询结果中的属性,其输出可以是列名、表达式、集函数(AVG、COUNT、MAX、MIN、SUM),DISTINCT选项可以保证查询的结果集中不存在重复元组;FROM子句对应的是关系代数中的笛卡儿积,它列出的是表达式求值过程中须扫描的关系;WHERE子句对应的是关系代数中的选择谓词。