求选课在3门以上且各门课程均及格的学生的学号及总成绩,查询结果按总成绩降序排列。请对下列的SELECT语句填空: SELECT学号,SUM(成绩) AS 总成绩 FROM 选课表; WHERE 成绩>=60【 】ORDER BY【 】DESC

题目

求选课在3门以上且各门课程均及格的学生的学号及总成绩,查询结果按总成绩降序排列。请对下列的SELECT语句填空: SELECT学号,SUM(成绩) AS 总成绩 FROM 选课表; WHERE 成绩>=60【 】ORDER BY【 】DESC


相似考题
参考答案和解析
正确答案:GROUP BY学号 HAVING(COUNT(*)>=3)SUM(成绩)
GROUPBY学号HAVING(COUNT(*)>=3),SUM(成绩)
更多“求选课在3门以上且各门课程均及格的学生的学号及总成绩,查询结果按总成绩降序排列。请对下列的SELECT语句填空: SELECT学号,SUM(成绩) AS 总成绩 FROM 选课表; WHERE 成绩>=60【 】ORDER BY【 】DESC”相关问题
  • 第1题:

    设选课表的结构为:(学号、课程号、成绩),其中学号十课程号为主键。若要找出成绩不为空的记录,应当使用的SELECT-SQL语句是______。

    A.SELECT*FROM选课表WHERE成绩IS""

    B.SELECT*FROM选课表WHERE成绩=0

    C.SELECT*FROM选课表WHERE成绩<>NULL

    D.SELECT*FROM选课表WHERE成绩ISNOTNULL


    正确答案:D
    解析:某个字段没有值称为空值(NULL)。通常没有为一个字段输入值时,该字段的值就是空值。空值不同于零和空格,它不占任何存储空间。例如某些学生选修了课程但没有参加考试,就会造成数据表中有选课记录,但没有考试成绩,这与参加考试,成绩为零分是不同的。在本题中选项A和B将空值作为空格和零是错误的,在选项C中用“成绩>NULL”来表示成绩不为空,也是错误的,空值的条件为“ISNULL”,非空值的条件为“ISNOTNULL”,而不能把空值的条件写为“=NULL”,非空值的条件写为“>NULL”。故选项D正确。

  • 第2题:

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

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

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

    WHERE成绩>=60;

    GROUP BY学号;

    【 】COUNT(*)>=3


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

  • 第3题:

    要从选课表(学号、课程号、成绩)中查询选修了三门课程以上的学生学号,应使用的SELECT-SQL语句是

    A.SELECT学号FROM选课表WHERE COUNT(*)>=3

    B.SELECT学号FROM选课表HAVING COUNT(*)>=3

    C.SELECT学号FROM选课表GROUP BY学号HAVING COUNT(*)>=3

    D.SELECT学号FROM选课表GROUP BY学号WHERE COUNT(*)>=3


    正确答案:C
    解析:在选课表中,要查每个学生选修了多少门课程,就应该有按学号的分组语句,如果在查询中对分组后的记录还有一定的限制,就要使用HAVING短语。

  • 第4题:

    根据选课表(学号、课程号、成绩)进行下列查询: SELECT学号,SUM(成绩)AS总分FROM选课表WHERE(学号="C1011101") GROUP BY学号 UNION SELECT学号,SUM(成绩)AS总分FROM选课表WHERE(学号="C1011102") GROUP BY学号 使用的是______。

    A.合并查询

    B.外连接查询

    C.自身连接查询

    D.子查询


    正确答案:A

  • 第5题:

    学生(学号(C,8),姓名(C,6),性别(C,2),出生日期(D))选课(学号(C,8),课程号(C,3),成绩(N,5,1)) 查询选修课程号为“007”课程得分最高的学生,正确的SQL语句是( )。

    A. SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号 AND课程号=”007”AND成绩 >=ALL(SELECT成绩FROM选课)

    B. SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号 AND成绩 >=ALL(SELECT成绩FROM选课WHERE课程号=”007”)

    C. SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号 AND成绩 >=ANY(SELECT成绩FROM选课WHERE课程号=”007”)

    D. SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND 课程号=”007”AND成绩>=ALL(SELECT成绩FROM选课WHERE课程号=”007”)


    正确答案:D
    所有选项都是通过嵌套查询来实现题目的要求,因此来看关键字:ALL要求子查询中的所有行结果为真,结果才为真;ANY只要子查询中有一行能使结果为真,则结果就为真。最高分应该为成绩>=ALL(…),要查询选课号为“007”的同学,所以内外查询中都要用到条件:课程号=”007”。

  • 第6题:

    设选课表的结构为:(学号、课程号、成绩),其中学号+课程号为主键。若要找出成绩不为空的记录,应当使用的SELECT语句是______。

    A.SELECT*FROM选课表WHERE成绩IS""

    B.SELECT*FROM选课表WHERE成绩=0

    C.SELECT*FROM选课表WHERE成绩<>NULL

    D.SELECT*FROM选课表WHERE成绩ISNOT NULL


    正确答案:D

  • 第7题:

    查询有选课记录,但没有考试成绩的学生的学号和课程号,正确的sQL语句是( )。

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

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

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

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


    正确答案:C
    C。【解析】查询空值时要使用ISNULL,而“=NULL”是无效的,因为空值不是一个确定的值,所以不能用“=”这样的运算符进行比较。

  • 第8题:

    检索还未确定成绩的学生选课信息,正确的SQL命令是( )。

    A.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课 WHERE学生.学=选课.学号AND选课.成绩IS NULL

    B.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课 WHERE学生.学号=选课.学号AND选课.成绩=NULL

    C.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课 ON学生.学号=选课.学号WHERE选课.成绩IS NULL

    D.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课 ON学生.学号=选课.学号WHERE选课.成绩=NULL


    正确答案:C
    C。【解析】INNERJOINON表示内链接,内链接是通过比较源表间共享的列的值从多个源表检索行的操作。内链接排除来自不具有与其他源表中的行匹配的行的源表的行。

  • 第9题:

    查询选修课程号为"101"课程得分最高的同学,正确的SQL语句是

    A.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号 AND课程号="101”AND成绩>=ALL(SELECT成绩FROM选课)

    B.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号;选课.学号 AND成绩>=ALL(SELECT成绩FROM选课WHERE课程号="101")

    C.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号二选课.学号 AND成绩>=ANY(SELECT成绩FROM选课WHERE课程号="101")

    D.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND课程号="101" AND成绩>=ALL(SELECT成绩FROM选课WHERE课程号 ="101")


    正确答案:D
    解析:本题所给出的四个选项中:
      选项A中的子查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是“101”课程得分大于等于所有科目成绩的记录,如果其余课目的成绩有记录大于“101”科目的最高成绩,则此查询无结果,此选项错误。选项B中的查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是所有课程得分大于等于所有“101”科目成绩的记录,如果其余课目的成绩有记录大于“101”科目的最高成绩,则此查询将查询出错误结果,此选项错误。
      选项C中的查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是所有课程得分大于等于任意“101”科目成绩的记录,此查询将杳询出错误结果,此选项错误。
      选项D符合题意,将查询出正确结果,故为正确答案。

  • 第10题:

    要从选课表(学号、课程号、成绩)中查询选修了3门课程以上的学生学号,应使用的SELECT语句是______。

    A.SELECT学号FROM选课表WHERECOUNT(*)>=3

    B.SELECT学号FROM选课表HAVING COUNT(*)>=3

    C.SELECT学号FROM选课表GROUPBY学号HAVINGCOUNT(*)>=3

    D.SELECT学号FROM选课表GROUP BY学号WHERE COUNT(*)>=3


    正确答案:C

  • 第11题:

    查询有选课记录,但没有考试成绩的学生的学号和课程号,正确的 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

  • 第12题:

    单选题
    查询选修课程号为“101”课程得分最高的同学,正确的SQL语句是(  )。
    A

    SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND课程号=101AND成绩>=ALL(SELECT成绩FROM选课)

    B

    SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND成绩>=ALL(SELECT成绩FROM选课WHERE课程号=101)

    C

    SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND成绩>=ANY(SELECT成绩FROM选课WHERE课程号=101)

    D

    SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND课程号=101AND成绩>=(SELECT成绩FROM选课WHERE课程号=101)


    正确答案: A
    解析:
    ALL表示所有子查询中的所有行都使结果为真时,结果才为真;而ANY表示子查询中有一行能使结果为真,则结果就为真,要求查询选修课程号为“101”的课程得分最高的同学,应用条件短语:成绩>=ALL(SELECT成绩FROM选课WHERE课程号="101")。

  • 第13题:

    查询选修课程号为“101”课程得分最高的同学,正确的SQL语句是 ______。

    A.SELECT 学生.学号,姓名FROM 学生,选课WHERE 学生.学号=选课.学号 AND 课程号=“101” AND 成绩>=ALL (SELECT 成绩 FROM 选课)

    B.SELECT 学生.学号,姓名FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 成绩>=ALL(SELECT 成绩 FROM 选课 WHERE 课程号=“101”)

    C.SELECT 学生. 学号,姓名 FROM 学生,选课 WHERE 学生. 学号=选课.学号 AND 成绩>=ANY (SELECT 成绩 FROM 选课 WHERE 选课号=“101”)

    D.SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 课程号=“101”AND 成绩>= ALL(SELECT 成绩 FROM 选课 WHERE课程号=“101”)


    正确答案:D
    解析:选项A中的子查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是“101”课程得分大于等于所有科目成绩的记录,如果其余课目的成绩有记录大于“101”科目的最高成绩,则此查询无结果,此选择错误。
    选项B中的查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是所有课程得分大于等于所有“101”科目成绩的记录,如果其余课目的成绩有记录大于“101”科目的最高成绩,则此查询将查询出错误结果,此选项错误。
    选项C中的查陶并没有限定选择“课程号”为“101”,则此命令选择出来的结果是所有课程得分大于等于任意“101”科目成绩的记录,此查询将查询出错误的结果,此选项错误。

  • 第14题:

    要在学生选课表中查询所有2号课程的选课记录,并将查询结果按成绩升序排列,则可以使用的SQL语句是“SELECT * FROM 学生选课 WHERE 课程号="2" ORDER BY ()”

    A. 成绩

    B. 成绩 DESC

    C. 成绩 ASC

    D. 100-成绩 DESC


    正确答案:ACD

  • 第15题:

    若要查询选修课(学号、课程号、成绩)成绩在80分以上的女生的姓名,应使用的SELECT语句是 ______。

    A.SELECT姓名FROM学生表,选课表WHERE学生表.学号=选课表.学号;.OR.性别=“女”.AND.成绩>=80

    B.SELECT姓名FROM学生表,选课表WHERE学生表.学号=选课表.学号;.AND.性别=“女”.OR.成绩>=80

    C.SELECT姓名FROM学生表,选课表WHERE学生表.学号=选课表.学号;.OR.性别=“女”.OR.成绩>=80

    D. SELECT姓名FROM学生表,选课表WHERE学生表.学号=选课表.学号;.AND.性别=“女”.AND.成绩>=80


    正确答案:D
    解析:本查询是在学生表和选课表之间进行的,在语句中应有表的连接条件和记录的筛选条件,在4个选项中的表连接条件都是相同的,也是正确的,不同之处是连接条件和筛选条件之间的逻辑运算符的使用,在语句中只要使用了逻辑运算符OR就都不符合题意要求,正确答案应为选项D。

  • 第16题:

    若要查询选修课(学号、课程号、成绩)成绩在80分以上的女生姓名,应使用的SELECT语句是______。

    A.SELECT姓名FROM学生表,选课表WHERE学生表.学号=选课表.学号;.OR.性别="女".AND.成绩>=80

    B.SELECT姓名FROM学生表,选课表WHERE学生表.学号=选课表.学号;.AND.性别:"女".OR.成绩>=80

    C.SELECT姓名FROM学生表,选课表WHERE学生表.学号=选课表.学号;.OR.性别="女".OR.成绩>=80

    D.SELECT姓名FROM学生表,选课表WHERE学生表.学号=选课表.学号;.AND.性别:"女".AND.成绩>=80


    正确答案:D

  • 第17题:

    检索还未确定成绩的学生选课信息,正确的SQL命令是( )。

    A.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课 WHERE学生.学号=选课.学号AND选课.成绩IS NULL

    B.SELECT、学生.学号,姓名,选课.课程号FROM学生JOIN选课 WHERE学生.学号=选课.学号AND选课.成绩=NULL

    C.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课 ON学生.学号=选课.学号WHERE选课.成绩IS NULL

    D.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课 ON学生.学号=选课.学号WHERE选课.成绩=NULL


    正确答案:C
    解析:inner join on表示内链接,内链接是通过比较源表间共享的列的值从多个源表检索行的操作。内联接排除来自不具有与其它源表中的行匹配的行的源表的行。

  • 第18题:

    设有学生选课表:SC(学号,课程号,成绩),要求在该表中查询缺少学习成绩的学生学号和课程号,实现此查询要求的SELECT语句是______。

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

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

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

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


    正确答案:A

  • 第19题:

    在学生选课表(SC) 中,查询选修了3号课程(课程号CH)的学生的学号(XH)及其成绩(GD) 。查询结果按分数的降序排列。实现该功能的正确SQL语句( )。

    A.SELECR XH,GD FROM SC WHERE CH='3' ORDER BY GD DESC:

    B.SELECT XH,GD FROM SC WHERE CH='3' ORDER BY GD ASC;

    C.SELECT XH,GD FROM SC WHERE CH='3'GROUP BY GD DESC;

    D.SELECT XH,GD FROM SC WHERE CH='3' GROUP BY GD ASC;


    正确答案:A
    解析:可以用ORDERBY子句对查询结果进行排列,其中ASC表示升序,DESC表示降序。而GROUPBY子句是指对查询结果按某一列或多列值进行分组,值相等的为一组。

  • 第20题:

    查询选修课程号为“101”的课程得分最高的同学,正确的SQL语句是( )。

    A.SELECT学生.学号,姓名FROM学生,选课 WHERE学生.学号=选课.学号 AND课程号=”101”AND成绩>=A11(SELECT成绩FROM选课)

    B.SELECT学生.学号,姓名FROM学生,选课 WHERE学生.学号=选课.学号 AND成绩>=A11(SELECT成绩FROM选课 WHERE课程号=”101”)

    C.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号 AND成绩>:=:A11(SELECT成绩FROM选课 WHERE课程号=”101”)

    D.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号一选课.学号AND 课程号一”101”AND成绩>=A11(SELECT成绩FROM选课WHERE课程号一”101”)


    正确答案:D
    本题采用嵌套查询。其中,ALL表示所有的结果。

  • 第21题:

    检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的SELECT语句是______。

    A.SELECT S#, SUM(GRADE) FROM SC WHERE GRADE>=60 GROUP BY S# ORDER BY 2 DESC HAVING COUNT(*)>=4

    B.SELECT S#, SUM(GRADE) FROM SC WHERE GRADE>=60 GROUP BY S# HAVING COUNT(*)>=4 ORDER BY 2 DESC

    C.SELECT S#, SUM(GRADE) FROM SC WHERE GRADE>=60 HAVING COUNT(*)>=4 GROUP BY S# ORDER BY 2 DESC

    D.SELECT S#, SUM(GRADE)FROM SC WHERE GRADE>=60 ORDER BY 2 DESC GROUP BY S# HAVING COUNT(*)>=4


    正确答案:B

  • 第22题:

    ( 33 )查询选修课程号为 “ 101 ” 课程得分最高的同学,正确的 SQL 语句是

    A) SELECT 学生 . 学号 , 姓名 FROM 学生 , 选课 WHERE 学生 . 学号 = 选课 . 学号

    AND 课程号 = "101" AND 成绩 >=ALL(SELECT 成绩 FROM 选课 )

    B) SELECT 学生 . 学号 , 姓名 FROM 学生 , 选课 WHERE 学生 . 学号 = 选课 . 学号

    AND 成绩 >=ALL(SELECT 成绩 FROM 选课 WHERE 课程号 = "101" )

    C) SELECT 学生 . 学号 , 姓名 FROM 学生 , 选课 WHERE 学生 . 学号 = 选课 . 学号

    AND 成绩 >=ANY(SELECT 成绩 FROM 选课 WHERE 课程号 = "101" )

    D) SELECT 学生 . 学号 , 姓名 FROM 学生 , 选课 WHERE 学生 . 学号 = 选课 . 学号

    AND 课程号 = "101"AND 成绩 >=ALL(SELECT 成绩 FROM 选课 WHERE 课程号 = "101" )


    正确答案:B

  • 第23题:

    学生选课的关系模式为SC(SN,CN,SM),其中SN为学号,CN为课程号,SM为成绩。检索选修3门以上课程的学生总成绩,并按总成绩的降序排列。 SELECT SN,SUM(SM) FROM SC ______0RDER BY 2 DESC;

    A.GROUP BY SN HAVING COUNT(*)>=3

    B.HAVINGCOUNT(*)>=3 GROUP BY SN

    C.GROUP BY SM HAVING COUNT(*)>=3

    D.HAVING COUNT(*)>=3 GROUP BY SM


    正确答案:A
    解析:在查询语句中,WHERE子句后面加上GROUP BY子句可以对元组进行分组。将记录分组后,也可以用HAVI-NG子句来筛选它们。HAVING只能与GROUP BY一起使用,一旦GROUP BY完成了记录分组,HAVING子句与确定元组条件的WHERE子句类似。