以下两个题使用如下3个数据库表: 学生表:S(学号,姓名,性别,出生日期,院系) 课程表:C(课程号,课程名,学时) 选课成绩表:SC(学号,课程号,成绩) 在上述表中,出生日期数据类型为日期型,学时和成绩为数值型,其他均为

admin2012-09-07  35

问题 以下两个题使用如下3个数据库表:
    学生表:S(学号,姓名,性别,出生日期,院系)
    课程表:C(课程号,课程名,学时)
    选课成绩表:SC(学号,课程号,成绩)
    在上述表中,出生日期数据类型为日期型,学时和成绩为数值型,其他均为字符型。
用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:
    GROUPBY学号ORDERBY 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(成绩)平均成绩。在查询中先用WHERE子句,然后是GROUP子句,最后用HAVING子句对分组限定条件,故COUNT(*)>=5分组限定条件应该写在HAVING之后。
转载请注明原文地址:https://kaotiyun.com/show/absp777K
0

最新回复(0)