用SQL语言检索选修课程在5门以上(含5门)的学号、姓名和平均成绩,并按平均成绩降序排序,正确的命令是A.SELECT S.学号,姓名,平均成绩FROM S,SC; WHERE S.学号=SC.学号; GROUP BY S.学号 HAVING COUNT(*)>=5 ORDER BY 平均成绩 DESCB. SELECT 学号,姓名,AVG(成绩)FROM S,SC; WHERE S.学号=SC.学号AND COUNT(*)>=5; GROUP BY 学号 ORDER BY 3 DESCC.SELECT

题目

用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


相似考题
更多“用SQL语言检索选修课程在5门以上(含5门)的学号、姓名和平均成绩,并按平均成绩降序排序,正确的命令 ”相关问题
  • 第1题:

    使用如下3个数据库表: 学生表:S(学号,姓名,性别,出生日期,院系) 课程表:C(课程号,课程名,学时) 选课成绩表:SC(学号,课程号,成绩) 在上述表中,出生日期数据类型为日期型,学时和成绩为数值型,其他均为字符型。用SQL语言检索选修课程在5门以上(含5门)的学生的学号、姓名和平均成绩,并按平均成绩降序排序,正确的命令是______。

    A.SELECTS.学号,姓名,平均成绩FROM S,SC; WHERE S.学号=SC.学号; GROUP BY S.学号HAVING COUNT(*)>=5 ORDER BY平均成绩DESC

    B.SELECT学号,姓名,AVG(成绩)FROMS,SC; WHERE S.学号=SC.学号AND COUNT(*)>=5; GROUP BY学号ORDER BY 3 DESC

    C.SELECTS.学号,姓名,AVG(成绩)平均成绩FROM S,SC; WHERE S.学号;SC.学号AND COUNT(*)>=5; GROUP BY S.学号ORDER BY平均成绩DESC

    D.SELECTS.学号,姓名,AVG(成绩)平均成绩FROMS,SC, WHERE S.学号:SC.学号; GROUP BYS.学号HAVING COUNT(*)7=5 ORDER BY 3 DESC


    正确答案:D
    解析:Visual FoxPro的SELECT—SQL命令的一般语法格式如下:
       SELECT[ALL|DISTINCT]目标列表达式>[,目标列表达式>]…
       FROM基本表(或视图)>[,基本表(或视图)>]…
       [WHERE条件表达式>]
       [GROUPBY列名1>[HAVING内部函数表达式>))
       [ORDERBY列名2>[ASC|DESC]];
    说明:
    ①SELECT子句:ALL表示选出的记录中包括重复记录,这是缺省值;DISTINCT则表示选出的记录中不包括重复记录。
    ②FROM子句及其选项:用于指定查询的表,可以对单个表或多个表进行查询。
    ③WHERE子句:说明查询条件,即筛选元组的条件。
    ④GROUP BY子句:对记录按列名1>值分组,常用于分组统计。
    ⑤HAVING子句:当含有GROUP BY子句时,HAVING子句可用作记录查询的限制条件;无GROUP BY子句时HAVING子句的作用如同WHERE子句。
    ⑥ORDER BY子句:指定查询结果中记录按列名2>排序,默认升序。选项ASC表示升序,DESC表示降序。

  • 第2题:

    在成绩表中,检索选修3门以上课程的学生的及格学科的总成绩。成绩表中包含学号、姓名、课程名和成绩4个字段。

    请将下面的SQL语句补充完整。

    SELECT学号,SUM(成绩)FROM【 】;

    WHERE成绩>=60;

    GROUP BY学号;

    【 】COUNT(*)>=3


    正确答案:【 】成绩表【 】HAVING
    【 】成绩表【 】HAVING 解析:本题中,根据学号将学生记录分组,然后利用SQL的统计函数COUNT(),统计选修3门课程以上的学生记录,并利用SUM()函数将及格科目的分数求和。

  • 第3题:

    设有SC (学号,课程号,成绩)表,下面SQL的SELECT语句检索成绩高于或等于平均成绩的学生的学号。

    SELECT 学号 FROM sc

    WHERE 成绩>=(SELECT【 】FROM sc)


    正确答案:AVG(成绩)
    AVG(成绩) 解析:检索成绩高于或等于平均成绩的学生的学号,首先应计算出SC表中的学生的平均成绩再找出成绩高于或等于平均成绩的学生的学号,计算平均成绩应使用AVG()函数,所以可以使用命令:SELECT学号FROM sc WHERE成绩>=(SELECT AVG(成绩)FROM sc) 。

  • 第4题:

    设有学生选课表SC(学号,课程号,成绩),用SQL语言检索每门课程的课程号及平均分的语句是(关键字必须拼写完整)。 SELECT 课程号,AVG(成绩)FROM SC___


    正确答案:GROUP BY课程号或GROUP BY 1或GROUP BY SC.课程号
    本题考查对SQL语句的GROUP子句的掌握。在使用SQL检索每门课程的课程号及平均分时,须按课程号进行分组。按课程号分组查询可以用GROUPBY, GROUP BY 1表示按SC表的第一个字段进行.分组,指定分组字段时也可使用表名.字段的方法,因此答案也可以写成GROUP BY SC.课程号。

  • 第5题:

    用SQL语句检索选修课程在5门以上(含5门)的学生的学号、姓名和平均成绩,并按平均成绩降序排序,正确的命令是( )。


    正确答案:D

  • 第6题:

    用关系代数表达式完成以下操作:

    检索“平均成绩”低于80的学生的“学号”“姓名”“院系名称”;

    检索“学生”陈鑫导师的“教师号”。

    (2)用SQL语言完成以下操作:

    列出“平均成绩”最高的学生信息;

    将03级的所有学生按“学号”升序进行排序。


    正确答案:(1)第一题:∏学号姓名院系名称(σ平均成绩80(院系学生)) 第二题:可建立一个临时关系R ∏教师号(∏教师号学生(导师)÷R) (2)第一题:select*from 学生 where 平均成绩= (select max (平均成绩) from 学生) 第二题:select* from 学生 where 年级=03'order by 学号
    (1)第一题:∏学号,姓名,院系名称(σ平均成绩80(院系学生)) 第二题:可建立一个临时关系R ∏教师号(∏教师号,学生(导师)÷R) (2)第一题:select*from 学生 where 平均成绩= (select max (平均成绩) from 学生) 第二题:select* from 学生 where 年级=03'order by 学号

  • 第7题:

    设有一个关系Student(学号,姓名,系名,课程号,成绩),查询至少选修了4门课程的学生学号、姓名及平均成绩的SELECT语句应该是:

    SELECT学号,姓名,AVG(成绩) AS平均成绩

    FROM Student

    GROUP BY(1)

    HAVING(2)

    A.学号

    B.姓名

    C.系名

    D.课程号


    正确答案:A
    解析:GROUP BY子句可以将查询结果表的各行按一列或多列取值相等的原则进行分组,对查询结果分组的目的是为了细化集函数的作用对象。如果分组后还要按一定的条件对这些组进行筛选,最终只输出满足指定条件的组,可以使用HAVING短语指定筛选条件。由题意可知,在这里只能根据学号进行分组,并且要满足条件:此学号的学生至少选修了4门课。

  • 第8题:

    设有s(学号,姓名,性别)和sc(学号,课程号,成绩)两个表,下面SQL的SELECT语句检索选修的每门课程的成绩都高于或等于85分的学生的学号、姓名和性别。

    SELECT学号,姓名,性别FROM s WHERE__________(SELECT木FROM sc WHERE sc.学号=s.学号AND成绩<85)


    正确答案:
    NOTEXISTS
    查询操作使用SELECT命令,本题是联接查询和嵌套查询的结合使用,内层查询是将s表和SC表通过学号联接起来,查询的结果是所有至少有一门成绩低于85分信息的集合,外层查询S表中不在内层查询结果中出现的学号、姓名和单位,在WHERE条件短语中要用NOT EXISTS谓词。EXISTS是谓词,EXISTS或NOT EXISTS是用来检查在子查询中是否有结果返回,即存在元组或不存在元组。&

  • 第9题:

    在“成绩”表中,检索选修4门以上课程的男生的姓名和平均成绩。“成绩”表中包含学号、姓名、课程名称和成绩4个字段。请将下面的SQL语句补充完整。

    SELECT姓名,AVG(成绩)AS平均成绩FROM成绩;

    WHERE性别=”男”:

    GROUPBY学号:

    __________COUNT(﹡)>=4。


    正确答案:
    HAVING
    【解析】在实际的应用中,除了简单的计算查询外,还可以利用GROUP BY子旬进行分组计算查询。通常来说,一个计算函数的范围是满足WHERE子句指定条件的所有记录。当加上GROUP BY子句后,系统会将查询结果按指定列分成集合组。当一个计算函数和一个GROUP BY子句一起使用时,计算函数的范围变为每组所有的记录。另外,使用HAVING子句定义分组所必须满足的条件,以便将其包含在结果中。本题中,根据“学号”将学生记录分组,然后利用sQL的统计函数COUNT,统计选修4门课程以上的学生记录,并利用AVGO函数求平均分。

  • 第10题:

    设有 SC( 学号 , 课程号 , 成绩 ) 表,下面 SQL 的 SELECT 语句检索成绩高于或等于平均成绩的学生的学号。SETECT 学号 FROM sc WHERE 成绩 >= (SELECT 【 15 】 FROM sc)


    正确答案:

  • 第11题:

    设有一个关系Student(学号,姓名,系名,课程号,成绩),查询至少选修了四门课程的学生学号、姓名及平均成绩的SELECT语句应该是:SELECT 学号,姓名,AVG(成绩)AS平均成绩FROM StudentGROUP BY( )HAVING(请作答此空)

    A.COUNT(DISTINCT 学号)>3
    B.COUNT(课程号)>3
    C.COUNT(DISTINCT学号)>=3
    D.COUNT(课程号)>=3

    答案:B
    解析:
    本题考查的是SQL查询语言。GROUP BY子句可以将查询结果表的各行按一列或多列取值相等的原则进行分组,对查询结果分组的目的是为了细化集函数的作用对象。如果分组后还要按一定的条件对这些组进行筛选,最终只输出满足指定条件的组,可以使用HAVING短语指定筛选条件。由题意可知,在这里只能根据学号进行分组,并且要满足条件:此学号的学生至少选修了四门课程。因此,试题(18)的正确答案为A,试题(19)的正确答案为B。

  • 第12题:

    单选题
    查询选修课程在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 so
    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


    正确答案: B
    解析:
    要查询选修课程在5门以上(含5门)的学生信息,必须要找到每个学号在成绩表中的出现次数(换句话说就是记录条数),为此需要根据学号进行分组,分组条件是COUNT(*)>=5,所以D项正确。B项中COUNT(*)>=5使用位置不对,结果造成不是统计每个学号下的记录个数,而是统计符合条件的所有记录个数。

  • 第13题:

    计算刘明同学选修的所有课程的平均成绩,正确的SQL语句是 ______。

    A.SELECT AVG(成绩)FROM 选课 WHERE 姓名=“刘明”

    B.SELECT AVG(成绩)FROM 学生,选课 WHERE 姓名=“刘明”

    C.SELECT AVG(成绩)FROM 学生,选课 WHERE 学生.姓名=“刘明”

    D.SELECT AVG(成绩)FROM 学生,选课 WHERE 学生.学号=选课.学号 AND姓名=“刘明”


    正确答案:D
    解析:此小题中各个选项解释如下:选项A错误,此查询只选择了“选课”表,但在“选课”表中并没有“姓名”字段。选项B与选项C错误,此查询进行了两个表的联合查询,但没有根据关键字将两个表连接起来。选项D正确。

  • 第14题:

    在关系Student(学号,姓名,系名,课程号,成绩)中,查询至少选修了四门课程的学生学号、姓名及平均成绩的SElECT语句应该是:

    SELECT学号,姓名,AVC((254))AS平均成绩

    FROM Student

    CROUP BY学号

    HAVING (255)

    A.成绩

    B.姓名

    C.系名

    D.课程号


    正确答案:A

  • 第15题:

    设有学生选课表SC(学号,课程号,成绩),用SQL语言检索每门课程的课程号及平均分的语句是(关键词必须拼写完整): SELECT课程号,AVG(成绩)FROM SC【 】。


    正确答案:GROUP BY 课程号
    GROUP BY 课程号 解析:本题要求检索每门课程的课程号及平均分,即按照课程号进行分组,统计各个课程的平均成绩。

  • 第16题:

    现有某高校的选修课记录(SC):学号、姓名、课程名称、成绩,要查询没有选修课成绩的学生和课程,正确的SQL语句是( )。

    A. SELECT学号,课程号FROM sc WHERE成绩=””

    B. SELECT学号,课程号FROM sc WHERE成绩=NULL

    C. SELECT学号,课程号FROM SC WHERE成绩IS NULL

    D. SELECT学号,课程号FROM SC WHERE成绩


    正确答案:C
    利用空值查询,查询空值时要使用“Is NULL”,而=“”、=NULL都是无效的,因为空值是一个不确定的值,所以不能用“=”进行比较。

  • 第17题:

    查询选修课程在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 GR0UP 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(*)>=5ORDER BY 3 DESC


    正确答案:D
    解析:HAVING短语必须跟随GROUP BY使用,它用来限定分组必须满足 的条件,所以本题正确答案为D。

  • 第18题:

    学生.DBF:学号C(8),姓名C(12),性别C(2),出生日期D,院系C(8)

    课程.DBF:课程编号C(4),课程名称C(10),开课院系C(8)

    学生成绩.DBF:学号C(8),课程编号C(4),成绩Ⅰ

    统计只有2名以下(含2名)学生选修的课程情况.统计结果中的信息包括课程名称、

    开课院系和选修人数,并按选课人数排序,正确的命令是


    正确答案:C
    统计人数可以使用C()UNT()函数。在本题中由于学号是唯一的。因而统计人数就可以通过统计学生学号的个数来实现,四个选项中可以排除A、B两个选项,这两个语句都缺少按选修人数进行排序的子旬.选项D的错误在于没有没定查询条件,故选项C正确。

  • 第19题:

    计算刘明同学选修的所有课程的平均成绩,正确的SQL语句是

    A.SELECTAVG(成绩)FROM选课WHERE姓名="刘明"

    B.SELECTAVG(成绩)FROM学生,选课WHERE姓名="刘明"

    C.SELECTAVG(成绩)FROM学生,选课WHERE学生.姓名="刘明"

    D.SELECTAVG(成绩)FROM学生,选课WHERE学生.学号=选课.学号AND姓名="刘明"


    正确答案:D
    解析:此题中各个选项解释如下:
      选项A错误,此查询只选择了“选课”表,但在“选课”表中并没有“姓名”字段。
      选项B与选项C错误,此查询进行了两个表的联合查询,但没有根据关键字将两个表联接起来。 
      选项D正确。

  • 第20题:

    ●设有学生关系Student(学号,姓名,系名,课程号,成绩),则查询至少选修了四门课程的学生学号、姓名及平均成绩的SELECT语句为:

    SELECT学号,姓名,(59)

    FROM Student

    GROUP BY(60)

    HAVING(61)

    (59)A.SUM(成绩)

    B.AVG(SUM(成绩))

    C.AVG(成绩)AT平均成绩

    D.AVG(成绩)AS平均成绩

    (60)A.学号

    B.姓名

    C.系名

    D.课程号

    (61)A.COUNT(DISTINCT学号)>3

    B.COUNT(课程号)>3

    C.COUNT(DISTINCT学号)>=3

    D.COUNT(课程号)>=3


    正确答案:D,A,B

  • 第21题:

    用SQL语句检索选修课程在5门以上(含5门)的学生的学号、姓名和平均成绩,并按平均成绩降序排序,正确的命令是( )。

    A)SELECT S.学号,姓名,平均成绩FROM S,SC;

    WHERE S.学号=SC.学号;

    GROUP BY S.学号HAVING COUNT(﹡)>=5 0RDER 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 0RDER BY 3 DESC


    正确答案:D
    题干中需要显示的“平均成绩”不是表中字段,不能直接显示,用函数来实现表示方法为:AVG(成绩)平均成绩。在查询中先用WHERE子句,然后是GROUP予句,最后用HAVING子句对分组限定条件,故COUNT(*)>=5分组限定条件应该写在HAVING之后。&

  • 第22题:

    设有一个关系Student(学号,姓名,系名,课程号,成绩),查询至少选修了四门课程的学生学号、姓名及平均成绩的SELECT语句应该是:SELECT 学号,姓名,AVG(成绩)AS平均成绩FROM StudentGROUP BY(请作答此空)HAVING( )

    A.学号
    B.姓名
    C.系名
    D.课程号

    答案:A
    解析:
    本题考查的是SQL查询语言。GROUP BY子句可以将查询结果表的各行按一列或多列取值相等的原则进行分组,对查询结果分组的目的是为了细化集函数的作用对象。如果分组后还要按一定的条件对这些组进行筛选,最终只输出满足指定条件的组,可以使用HAVING短语指定筛选条件。由题意可知,在这里只能根据学号进行分组,并且要满足条件:此学号的学生至少选修了四门课程。因此,试题(18)的正确答案为A,试题(19)的正确答案为B。

  • 第23题:

    单选题
    学生表:S(学号,姓名,性别)和选课成绩表:SC(学号,课程号,成绩),用SQL语言检索选修课程在5门以上(含5门)的学生的学号、姓名和平均成绩,并按平均成绩降序排序,正确的命令是(  )。
    A

    SELECT S.学号,姓名,AVG(成绩)平均成绩 FROM S,SC;
    WHERE S.学号=SC.学号;
    GROUP BY S.学号,姓名 HAVING COUNT(*)>=5 ORDER BY 3 DESC

    B

    SELECT S.学号,姓名,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.学号,姓名,平均成绩 FROM S,SC;
    WHERE S.学号=SC.学号;
    GROUP BY S.学号,姓名 HAVING COUNT(*)>=50RDER BY 平均成绩 DESC


    正确答案: C
    解析:
    题目要求查找选修课程在5门以上(含5门)的学生,则应该用HAVING COUNT(*)>=5进行限定。使用HAVING子句可以定义这些组所必须满足的条件以进行限定。GROUP BY将查询结果按指定列分成集合组。AVG可以计算对每个学生分组后的平均成绩,即AVG(成绩)。A项正确,ORDER BY 3 DESC指按查询结果中第三列数据降序排列,即ORDER BY平均成绩DESC。