设有学生表student(学号,姓名,性别,出生日期,院系)、课程表course(课程号,课程名,学时)和选课表score(学号,课程号,成绩),查询选修课程在5门以上(含5门)的学生的学号、姓名和平均成绩,并按平均成绩降序排序,正确的命令是

admin2015-08-25  37

问题 设有学生表student(学号,姓名,性别,出生日期,院系)、课程表course(课程号,课程名,学时)和选课表score(学号,课程号,成绩),查询选修课程在5门以上(含5门)的学生的学号、姓名和平均成绩,并按平均成绩降序排序,正确的命令是

选项 A、SELECT s.学号,姓名,平均成绩 FROM student s, score sc WHERE s.学号 = sc.学号; GROUP BY s.学号 HAVING COUNT(*)>=5 ORDER BY 平均成绩 DESC
B、SELECT 学号,姓名,AVG(成绩) FROM student s, score sc; WHERE s.学号 = sc.学号 AND COUNT(*)>=5 GROUP BY 学号 ORDER BY 3 DESC
C、SELECT s.学号,姓名,AVG(成绩) 平均成绩 FROM student s, score sc; WHERE s.学号 = sc.学号 AND COUNT(*) >= 5 GROUP BY s.学号 ORDER BY 平均成绩 DESC
D、SELECT s.学号,姓名,AVG(成绩) 平均成绩 FROM student s, score sc; WHERE s.学号 = sc.学号 GROUP BY s.学号 HAVING COUNT(*)>=5 ORDER BY 3 DESC

答案A

解析 SQL查询的基本形式由SELECT-FROM-WHERE模块组成,其中,SELECT说明要查询的数据,FROM说明要查询的数据来自哪个或哪些表,WHERE说明查询条件。AVG()用于计算平均值,A、B选项错误。HAVING短语用来限定分组必须满足的条件,本题要查询选修课程在5门以上(含5门)的信息,对应的命令语句应为"HAVING COUNT(*)>=5",D选项正确。
转载请注明原文地址:https://kaotiyun.com/show/39bp777K
0

最新回复(0)