学生表S和学生选课表SC两个数据库表,它们的结构如下: S(学号,姓名,性别,年龄),其中学号、姓名和性别为C型字段,年龄为N型字段。 SC(学号,课程号,成绩),其中学号和课程号为C型字段,成绩为N型字段。 查询选修课程在5门以上的学生的学号、姓名和平均

admin2013-03-26  34

问题 学生表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不正确;学生表S和成绩表SC都含有"学号"字段,在查询时需指明学号属于哪个表,故B不正确;GROUP BY短语用于对查询结果进行分组,后跟随HAVING短语来限定分组必须满足的条件,此题查询选修课在5门以上的学生,必须在分组后再统计,所以COUNT(*)>5应在HAVING之后,故本题答案为D。
转载请注明原文地址:https://kaotiyun.com/show/yNsp777K
0

最新回复(0)