问题 单项选择题

基于学生表S和学生选课表SC两个数据库表,它们的结构如下:
S(学号,姓名,性别,年龄),其中学号、姓名和性别为C型字段,年龄为N型字段;
SC(学号,课程号,成绩),其中学号和课程号为C型字段,成绩为N型字段。

查询选修课程在5门以上的学生的学号、姓名和平均成绩,并按平均成绩降序排序,正确的命令是

A. SELECT S.学号,姓名,平均成绩 FROM S,SC
WHERE S.学号=SC.学号
GROUP BY S.学号 HAVING COUNT(*)>5 ORDER BY 平均成绩 DESC
B. SELECT 学号,姓名,AVG (成绩) FROM S,SC
WHERE S.学号=SC.学号 AND COUNT (*)>5
GROUP BY 学号 ORDER BY 3 DESC
C. SELECT S.学号,姓名,AVG (成绩) 平均成绩 FROM S,SC
WHERE S.学号=SC.学号AND COUNT(*)>5
GROUP BY S.学号 ORDER BY 平均成绩 DESC
D. SELECT S.学号,姓名,AVG(成绩)平均成绩 FROM S,SC
WHERE S.学号=SC.学号
GROUP BY S.学号 HAVING COUNT(*)>5 ORDER BY 3 DESC

答案

参考答案:D

解析: 题目要求查询平均成绩,表中不存在“平均成绩”字段,需要使用AVG函数,故A)不正确;学生表student和成绩表score都含有“学号”字段,在查询时需指明学号属于哪个表,故B)不正确;GROUP BY短语用于对查询结果进行分组,后跟随HAVINC短语来限定分组必须满足此题查询选修课在5门以上的学生,必须在分组后再统计,所以CONM(大)>S应在HAVING后,故本题答案为D)。

问答题 简答题
多项选择题