要在学生选课表中查询选修三门以上课程的学生的学号,则可以使用的SQL语句是“SELECT 学号 FROM 学生选课 GROUP BY ()COUNT(*)>3”。A、课程号 WHEREB、学号 WHEREC、课程号 HAVINGD、学号 HAVING

题目

要在学生选课表中查询选修三门以上课程的学生的学号,则可以使用的SQL语句是“SELECT 学号 FROM 学生选课 GROUP BY ()COUNT(*)>3”。

  • A、课程号 WHERE
  • B、学号 WHERE
  • C、课程号 HAVING
  • D、学号 HAVING

相似考题
更多“要在学生选课表中查询选修三门以上课程的学生的学号,则可以使用的SQL语句是“SELECT 学号 FROM 学生选课 GROUP BY ()COUNT(*)3”。A、课程号 WHEREB、学号 WHEREC、课程号 HAVINGD、学号 HAVING”相关问题
  • 第1题:

    设选课表的结构为:(学号、课程号、成绩),其中学号+课程号为主键。要从选课表中统计每个学生选修的课程门数,应使用的SELECT-SQL语句是______。

    A.SELECTCOUNT(*)FROM选课表

    B.SELECTCOUNT(*)FROM选课表GROUPBY学号

    C.SELECTDISTINCTCOUNT(*)FROM选课表

    D.SELECTDISTINCTCOUNT(*)FROM选课表GROUPBY学号


    正确答案:B
    解析:在选课表中,每个学生只要选修了一门课程就有一条记录,如果选修了多门课程,就有多条记录。特殊函数COUNT(*)用来统计记录的个数,不消除重复行,不允许使用DISTINCT短语。选项A统计的是选课表中所有的记录数,选项B是按学号进行分组,然后统计分组后,显示每一组的记录数,也就统计出了每个学生选修课程的门数,选项C和选项D中使用了DISTINCT短语,所以是错误的。

  • 第2题:

    设有学生选课表 SC( 学号 , 课程号 , 成绩 ) , 用 SQL 检索同时选修课程号为 “ C1 ” 和 “ C5 ” 的学生的学号的正确命令是

    A) SELECT 学号 FROM SC WHERE 课程号 = ' C1 ' AND 课程号 = ' C5 '

    B) SELECT 学号 FROM SC WHERE 课程号 = ' C1 ' AND 课程号 =(SELECT 课程号 FROM SC WHERE课程号 = ' C5 ' )

    C) SELECT 学号 FROM SC WHERE 课程号 = ' C1 ' AND 学号 =(SELECT 学号 FROM SC WHERE 课程号 = ' C5 ' )

    D) SELECT 学号 FROM SC WHERE 课程号 = ' C1 ' AND 学号 IN (SELECT 学号 FROM SC WHERE 课程号 = ' C5 ' )


    正确答案:D

  • 第3题:

    若要查询选修课(学号、课程号、成绩)成绩在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。

  • 第4题:

    若要查询选修课(学号、课程号、成绩)成绩在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

  • 第5题:

    检索还未确定成绩的学生选课信息,正确的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表示内链接,内链接是通过比较源表间共享的列的值从多个源表检索行的操作。内联接排除来自不具有与其它源表中的行匹配的行的源表的行。

  • 第6题:

    没有学生选课表SC(学号.课程号,成绩),用sQL同时检索选修课程号为“cl”和“c5"的学生学号的讵确命令是( )。

    A.SELECT学号FROM SCWHERE课程号=’Cl’AND课程号=’C5 ’

    B.SELECT学号FROM SC WHERE课程号=’Cl’ AND课程号=(SELECT课程号FRM SwHERE课程号=’C5’)

    C.SELECT学号FRM SC WHERE课程号=’C1’ AND学号一(SELECT学号FROM SC WHERE课 程号=’C5 ’)

    D.SELECT学号FROM SC WHERE课程号=’Cl’ AND学号IN(SELECT学号FROM SC WHERE课 程号=’C5’)


    正确答案:D
    D。【解析】采用嵌套循环实现选修课程号为“Cl”和“C5”的学生学号的检索,可排除选项A。在嵌套查询中IN表示“属于”,可排除选项B、C。

  • 第7题:

    检索还未确定成绩的学生选课信息,正确的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表示内链接,内链接是通过比较源表间共享的列的值从多个源表检索行的操作。内链接排除来自不具有与其他源表中的行匹配的行的源表的行。

  • 第8题:

    统计只有2名以下(含2名)学生选修的课程情况,统计结果中的信息包括课程名称、开课院系和选修人数,并按选课人数排序。正确的命令是

    A.SELECT课程名称,开课院系,COUNT(课程编号)AS选修人数; FROM学生成绩,课程WHERE课程.课程编号=学生成绩.课程编号; GROUP BY学生成绩.课程编号HAVING COUNT(*)<=2; ORDER BY COUNT(课程编号)

    B.SELECT课程名称,开课院系,COUNT(学号)选修人数; FROM学生成绩,课程WHERE课程.课程编号=学生成绩.课程编号; GROUP BY学生成绩.学号HAVING COUNT(*)<=2; ORDER BY COUNT(学号)

    C.SELECT课程名称,开课院系,COUNT(学号)AS选修人数; FROM学生成绩,课程WHERE课程.课程编号=学生成绩.课程编号; GROUP BY课程名称HAVING COUNT(学号)<=2; ORDER BY选修人数

    D.SELECT课程名称,开课院系,COUNT(学号)AS选修人数; FROM学生成绩,课程HAVING COUNT(课程编号)<=2; GROUP BY课程名称 ORDER BY选修人数


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

  • 第9题:

    要从选课表(学号、课程号、成绩)中查询选修了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

  • 第10题:

    ( 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

  • 第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题:

    单选题
    查询选修课程号为“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题:

    要从选课表(学号、课程号、成绩)中查询选修了三门课程以上的学生学号,应使用的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短语。

  • 第15题:

    从学生选课表SC中(其中有学号、课程号、成绩3个字段)查询选修了3门以上课程的学生学号,实现该功能的SELECT语句是______。

    A.SELECT 学号 FROM SC GROUP BY学号 HAVING SUM(*)>3

    B.SELECT 学号 FROM SC GROUP BY学号 HAVING COUNT(*)>3

    C.SELECT 学号 FROM SC GROUP BY学号 HAVING 课程号>3

    D.SELECT 学号 FROM SC WHERE 课程号 >3 GROUPBY学号


    正确答案:B
    解析:根据题目要求,应先用GROUP BY子句按学号分组,再用集函数COUNT对每一组计数。 HAVING指定选择组的条件,只有满足条件(元组数>3,表示此学生选修的课超过3门)的组才会被选出来。根据此分析,选项B的语句正确。

  • 第16题:

    学生(学号(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”。

  • 第17题:

    设有学生选课表: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

  • 第18题:

    设有以下3个表: 学生表STUD(学号,姓名,性别,年龄,专业) 课程表KC(课程号,课程名,选修课号,学分) 学生选课表SC(学号,课程号,成绩) 查询选修了课程名为“数据结构”的学生的姓名的SELECT语句是______。

    A.SELECT 姓名 FROM STUD; WHERE学号SELECT学号FROM SC WHERE 课程号IN; (SELECT课程号FROM KC WHERE 课程名=“数据结构”)

    B.SELECT姓名FROM STUD; WHERE学号IN(SELECT学号FROM SC WHERE 课程号UNION; (SELECT 课程号 FROM KC WHERE 课程名=“数据结构”))

    C.SELECT 姓名 FROM STUD; WHERESELECT课程号FROMKCWHERE课程名=“数据结构”

    D.SELECT姓名FROM STUD; WHERE 学号 IN(SELECT 学号 FROM SC WHERE 课程号 IN; (SELECT课程号FROM KC WHERE 课程名=“数据结构”))


    正确答案:D
    解析:要实现本题的查询要求,需使用嵌套查询。嵌套查询又称为子查询,它可以把一个SELECT-FROM-WHERE查询块嵌入在另一个查询块中。嵌套查询是由内向外进行的。在嵌套查询中,常用谓词IN引导子查询。选项A、B、C的语句不符合嵌套查询的语法结构,只有选项D正确。

  • 第19题:

    查询选修课程号为“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表示所有的结果。

  • 第20题:

    查询选修课程号为"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符合题意,将查询出正确结果,故为正确答案。

  • 第21题:

    设有选课表,表中包含的字段有:学号C(3),课程号C(3),成绩N(3)。查询每门课程的学生人数,要求显示课程号和学生人数,对应的SQL语句为:SELECT 课程号, ___ AS 学生人数FROM 选课表;GROUP BY ___


    正确答案:
    COUNT(学号),课程号

  • 第22题:

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

  • 第23题:

    单选题
    要在学生选课表中查询选修三门以上课程的学生的学号,则可以使用的SQL语句是“SELECT 学号 FROM 学生选课 GROUP BY ()COUNT(*)>3”。
    A

    课程号 WHERE

    B

    学号 WHERE

    C

    课程号 HAVING

    D

    学号 HAVING


    正确答案: D
    解析: 暂无解析