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

admin2013-11-12  24

问题 下列小题基于学生表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短语用于对查询结果进行分组,后跟随HAVlNG短语来限定分组必须满足的条件,此题查询选修课在5门以上的学生,必须在分组后再统计,所以COUNT(*)>5应在HAVING之后,故本题答案为D。
转载请注明原文地址:https://kaotiyun.com/show/y0op777K
0

最新回复(0)