用SQL语言检索选修课程在5门以上(含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
解析:本题中通过分组计算查询语句,查找满足条件的记录,利用HAV- ING子句做进一步的分组限制条件设置。在该SQL语句中首先通过s表和sc表中的学号字段进行联接,利用AVG()函数可求指定字段的平均值,然后通过GROUP BY子句,按S表的学号进行分组,利用HAVING子句限定分组条件为选修课程大于等于5的学生记录,即COUNT(*)>=5,最后利用ORDER BY子句将结果按指定顺序排列。