用SQL语言检索选修课程在5门以上(含5门)的学生的学号、姓名和平均成绩,并按平均成绩降序排序,正确的命令是( )。
A) SELECT S.学号,姓名,平均成绩 FROM S,SC;
WHERE S.学号=SC.学号;
GROUP BY S.学号 HAVING GOUNT(*)>=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
解析: 选项A)中,平均成绩不是表中字段,不能直接显示,要用“AVG(成绩)平均成绩”来实现,故错误;选项B),题中要求查询的是“平均成绩”字段,而不是AVG(成绩),并且,此题要求先按学号分组,然后再统计分组后的记录,所以“COUNT(*)>=5”应放到HAVING子旬中,故错误;选项C),“COUNT(*)>=5”应放到HAVING子句中。