单选题已知“借阅”表中有“借阅编号”、“学号”和“借阅图书编号”等字段,每名学生每借阅一本书生成一条记录,要求按学生学号统计出每名学生的借阅次数,下列SQL语句中,正确的是(  )。A SELECT学号,COUNT(学号)FROM借阅B SELECT学号,COUNT(学号)FROM借阅GROUPBY学号C SELECT学号,SUM(学号)FROM借阅D SELECT学号,SUM(学号)FROM借阅ORDER BY学号

题目
单选题
已知“借阅”表中有“借阅编号”、“学号”和“借阅图书编号”等字段,每名学生每借阅一本书生成一条记录,要求按学生学号统计出每名学生的借阅次数,下列SQL语句中,正确的是(  )。
A

SELECT学号,COUNT(学号)FROM借阅

B

SELECT学号,COUNT(学号)FROM借阅GROUPBY学号

C

SELECT学号,SUM(学号)FROM借阅

D

SELECT学号,SUM(学号)FROM借阅ORDER BY学号


相似考题
更多“单选题已知“借阅”表中有“借阅编号”、“学号”和“借阅图书编号”等字段,每名学生每借阅一本书生成一条记录,要求按学生学号统计出每名学生的借阅次数,下列SQL语句中,正确的是(  )。A SELECT学号,COUNT(学号)FROM借阅B SELECT学号,COUNT(学号)FROM借阅GROUPBY学号C SELECT学号,SUM(学号)FROM借阅D SELECT学号,SUM(学号)FROM借阅ORDER BY学号”相关问题
  • 第1题:

    查询选修课程号为“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”科目成绩的记录,此查询将查询出错误的结果,此选项错误。

  • 第2题:

    从学生选课表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的语句正确。

  • 第3题:

    已知“借阅”表中有“借阅编号”、“学号”和“借阅图书编号”等字段,每名学生每借阅一本书生成一条记录,要求按学生学号统计出每名学生的借阅次数,下列sQL语句中,正确的是

    A.Select学号,Count(学号)from借阅

    B.select学号,Count(学号)from借阅Group By学号

    C.select学号,Sum(学号)from借阅

    D.Select学号,Sum(学号)from借阅Order By学号


    正确答案:B
    解析:要将查询结果按某一列或多列的值分组,且值相等的为一组则使用GROtJP BY子句;聚集函数COUNT()用于统计元组个数。

  • 第4题:

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

  • 第5题:

    已知“借阅”表中有“借阅编号”、 “学号”和“借阅图书编号”等字段,每名学生每借阅一本书生成一条记录,要求按学生学号统计出每名学生的借阅次数,下列SQL语句中,正确的是( )。

    A.Select学号,Count(学号)from借阅

    B.Select学号,Count(学号)from借阅GroupBy学号

    C.Select学号,Sum(学号)from借阅

    D.Select学号,Sum(学号)from借阅0rderBy学号


    正确答案:B
    SELECT语句能够实现数据的筛选、投影和连接操作,并能够完成筛选字段重命名、多数据源数据组合、分类汇总和排序等具体操作。SELECT语句的一般格式如下:SELECT[ALLIDISTINCT]*|<字段列表>FROM<表名l>[,<表名2>]…[WHERE<条件表达式>][GROUPBY<字段名>[HAVING<条件表达式>]][ORDERBY<字段名>[ASCfDESC]];其中:ALL表示查询所有符合条件的记录,默认值为ALL。DISTINCT表示查询要去掉重复行的所有记录。*表示查询结果为整个记录,即包括所有的字段。<字段列表>使用“,”将项分开,这些项可以是字段、常数或系统内部的函数。FROM子句说明要查询的数据来自哪个或哪些表,可以对单个或多个表进行查询。WHERE子旬说明查询条件,条件表达式可以是关系表达式,也可以是逻辑表达式。GROUPBY子句用于对检索结果进行分组,可以利用它进行分组汇总。HAVING必须跟随GROUPBY使用,用来限定分组必须满足的条件。ORDERBY子句用来对查询结果进行排序,ASC表示查询结果按某一字段值升序排列,DESC表示查询结果按某一字段值降序排列。由于题意中要求按学生学号统计出每名学生的借阅次数,所以应对学号进行分组,再利用COUNT实现统计功能。

  • 第6题:

    在学生借书数据库中,已有“学生”表和“借阅”表,其中“学生”表中含有“学号”、“姓名”等信息,“借阅”表中含有“借阅编号”、“学号”等信息。若要找出没有借过书的学生记录,并显示其“学号”和“姓名”,则正确的查询设计是( )。


    正确答案:A
    题意中要求查找的是没有借过书的学生记录,所以“借阅”表中的学号应为空,所以条件表达式为IsNull,排除选项C.和选项D.。又由于只显示“学号”和“姓名”,所以排除选项B.。

  • 第7题:

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

  • 第8题:

    若学生表中存储了学号、姓名、成绩等信息,则“查询学生表中所有学号和姓名”的SQL语句是( )。

    A.SELECT*FROM学生
    B.SELECT学号,姓名FROM学生
    C.SELECT学号姓名FROM学生
    D.SELECT学号、姓名FROM学生

    答案:B
    解析:

  • 第9题:

    有图书借阅管理的数据库系统,其数据库关系模式(属性只用英文字母) 为:学生(学号,姓名,系别,专业) 主码为:学号图书B(图书编号,图书名,出版日期,出版社) 主码为:图书编号借阅R(学号,图书编号,借阅日期) 主码为:(学号,图书编号)外码有:学号、图书编号 请写出完成下列操作的SQL语句查询借阅了关于数据库方面书籍的学生的学号、图书名称和出版社。


    正确答案:Select 学号,图书名,出版社 from 借阅 A,图书 B
    Where A. 学号=B. 学号 and 图书名 like ‘%数据库%

  • 第10题:

    有图书借阅管理的数据库系统,其数据库关系模式(属性只用英文字母) 为:学生(学号,姓名,系别,专业) 主码为:学号图书B(图书编号,图书名,出版日期,出版社) 主码为:图书编号借阅R(学号,图书编号,借阅日期) 主码为:(学号,图书编号)外码有:学号、图书编号 请写出完成下列操作的SQL语句创建借阅R表,要求指定其主码和外码。


    正确答案:C.reate table 借阅(学号char(10) foreign key references 学生,
    图书编号 char(10)foreign keyre ferences 图书,
    借阅日期 datetime,primary key(学号,图书编号)

  • 第11题:

    单选题
    有如下SQL语句:下列哪条命令与该SQL语句等价() SELECT姓名FROM学生表WHERE学号IN; (SELECT学号FROM成绩表WHERE成绩>90)
    A

    SELECT姓名FROM学生表WHEREEXISTS;(SELECT学号FROM成绩表WHERE成绩>90)

    B

    SELECT姓名FROM学生表WHEREEXISTS;(SELECT学号FROM成绩表WHERE学号=学生表.学号AND成绩>90)

    C

    SELECT姓名FROM学生表WHERE学号EXISTS;(SELECT学号FROM成绩表WHERE学号=学生表.学号AND成绩>90)

    D

    SELECT姓名FROM学生表WHERE学号=;(SELECT学号FROM成绩表WHERE成绩>90)


    正确答案: B
    解析: IN是包含运算,此处子查询中得到多个结果,记录不惟一,因此不用“=”运算符;EXISTS是谓词,用来检查在子查询中时候有结果返回。

  • 第12题:

    问答题
    有图书借阅管理的数据库系统,其数据库关系模式(属性只用英文字母) 为:学生(学号,姓名,系别,专业) 主码为:学号图书B(图书编号,图书名,出版日期,出版社) 主码为:图书编号借阅R(学号,图书编号,借阅日期) 主码为:(学号,图书编号)外码有:学号、图书编号 请写出完成下列操作的SQL语句查询2006年5月1日到2006年6月1日期间,图书的借阅情况。

    正确答案: Select * from 借阅 where 借阅日期
    Between ‘2006/05/01’ and ‘2006/06/01’
    解析: 暂无解析

  • 第13题:

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

  • 第14题:

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

  • 第15题:

    在学生借书数据库中,已有“学生”表和“借阅”表,其中“学生”表含有“学号”、“姓名”等信息,“借阅”表含有“借阅编号”、“学号”等信息。若要找出没有借过书的学生记录,并显示其“学号”和“姓名”,则正确的查询设计是

    A.

    B.

    C.

    D.


    正确答案:A
    解析:首先,要找出没有借书记录的学生,在查询设计网格的“学号”列下的“条件”行中键入Is。Null。其次,由于只显示“学号”和“姓名”,取消“学号”列“显示”行中的复选框。

  • 第16题:

    假设所有学生都已选课,所有的选课成绩都已确定。检索所有选课成绩都在90分以上(含)的学生信息,正确的SQL命令是( )。

    A.SELECT*FROM学生WHERE学号IN(SELECT学号FROM选课WHERE成绩>=90)

    B.SELECT*FROM学生WHERE学号NOT IN(SELECT学号FROM选课 WHERE成绩<90)

    C.SELECT*FROM学生WHERE学号!=ANY(SELECT学号FROM选课 WHERE成绩<90)

    D.SELECT*FROM学生WHERE学号=ANY(SELECT学号FROM选课 WHERE成绩>=90)


    正确答案:B
    解析:in表示包含关系,any表示只要有一条数据满足条件,整个条件成立。

  • 第17题:

    有如下SQL语句: SELECT姓名FROM学生表WHERE学号IN; (SELECT学号FROM成绩表WHERE成绩>90) 下列哪条命令与该SQL语句等价

    A.SELECT姓名FROM学生表WHERE EXISTS; (SELECT学号FROM成绩表WHERE成绩>90)

    B.SELECT姓名FROM学生表WHERE EXISTS; (SELECT学号FROM成绩表WHERE学号=学生表.学号AND成绩>90)

    C.SELECT姓名FROM学生表WHERE学号EXISTS; (SELECT学号FROM成绩表WHERE学号=学生表.学号AND成绩>90)

    D. SELECT姓名FROM学生表WHERE学号=; (SELECT学号FROM成绩表WHERE成绩>90)


    正确答案:B
    解析:IN是包含运算,此处子查询中得到多个结果,记录不惟一,因此不用“=”运算符;EXISTS是谓词,用来检查在子查询中时候有结果返回。

  • 第18题:

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

  • 第19题:

    ( 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

  • 第20题:

    要查询出学号为2008001001所有选取修课程的成绩,正确的是()。

    • A、SELECT学号,姓名,课程代码,总评成绩FROM学生,成绩ON学生.学号=成绩.学号WHERE学号=’2008001001’
    • B、SELECT学号,姓名,课程代码,总评成绩FROM学生INNER JOIN成绩WHERE学生.学号=成绩.学号AND学号=’2008001001’
    • C、SELECT学号,姓名,课程代码,总评成绩FROM学生LEFT OUTER JOIN成绩ON学生.学号=成绩.学号WHERE学号=’2008001001’
    • D、SELECT学号,姓名,课程代码,总评成绩FROM学生,成绩WHERE学生.学号=成绩.学号AND学号=’2008001001’

    正确答案:D

  • 第21题:

    有如下SQL语句:下列哪条命令与该SQL语句等价() SELECT姓名FROM学生表WHERE学号IN; (SELECT学号FROM成绩表WHERE成绩>90)

    • A、SELECT姓名FROM学生表WHEREEXISTS;(SELECT学号FROM成绩表WHERE成绩>90)
    • B、SELECT姓名FROM学生表WHEREEXISTS;(SELECT学号FROM成绩表WHERE学号=学生表.学号AND成绩>90)
    • C、SELECT姓名FROM学生表WHERE学号EXISTS;(SELECT学号FROM成绩表WHERE学号=学生表.学号AND成绩>90)
    • D、SELECT姓名FROM学生表WHERE学号=;(SELECT学号FROM成绩表WHERE成绩>90)

    正确答案:B

  • 第22题:

    有图书借阅管理的数据库系统,其数据库关系模式(属性只用英文字母) 为:学生(学号,姓名,系别,专业) 主码为:学号图书B(图书编号,图书名,出版日期,出版社) 主码为:图书编号借阅R(学号,图书编号,借阅日期) 主码为:(学号,图书编号)外码有:学号、图书编号 请写出完成下列操作的SQL语句查询借阅了“数据库原理”一书的学生信息。


    正确答案:Select * from 学生 where 学号 in(select 学号 from借阅)
    Where 图书编号in select 图书编号 from 图书

  • 第23题:

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