对于图书管理数据库,检索当前至少借阅了2本图书的读者的姓名和所在单位,下面SQL语句正确的是______。 SELECT 姓名,单位 FROM 读者 WHERE 借书证号 IN;A.(SELECT 借书证号 FROM 借阅 GROUP BY 总编号 HAVING COUNT(*)>=2)B.(SELECT 借书证号 FROM 读者 GROUP BY 借书证号 HAVING COUNT(*)>=2)C.(SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 HAVING SUM(*)>=2)D

题目

对于图书管理数据库,检索当前至少借阅了2本图书的读者的姓名和所在单位,下面SQL语句正确的是______。 SELECT 姓名,单位 FROM 读者 WHERE 借书证号 IN;

A.(SELECT 借书证号 FROM 借阅 GROUP BY 总编号 HAVING COUNT(*)>=2)

B.(SELECT 借书证号 FROM 读者 GROUP BY 借书证号 HAVING COUNT(*)>=2)

C.(SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 HAVING SUM(*)>=2)

D.(SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 HAVING COUNT(*)>=2)


相似考题
更多“对于图书管理数据库,检索当前至少借阅了2本图书的读者的姓名和所在单位,下面SQL语句正确的是____ ”相关问题
  • 第1题:

    对于图书管理数据库,查询0001号借书证的读者姓名和所借图书的书名。 SQL语句正确的是 ______。 SELECT姓名,书名FROM 借阅,图书,读者 WHERE; 借阅.借书证号="0001"AND; ______ ______

    A.图书.总编号=借阅.总编号 AND 读者.借书证号=借阅.借书证号

    B.图书.分类号=借阅.分类号 AND 读者.借书证号=借阅.借书证号

    C.读者.总编号=借阅.总编号 AND 读者.借书证号=借阅.借书证号

    D.图书.总编号=借阅.总编号 AND 读者.书名=借阅.书名


    正确答案:A
    解析:使用SQL命令进行查询。查询结果出自不同的表,即姓名出自读者表,书名出自图书表,该题是涉及多个表的连接查询。读者和借阅表通过共有属性借书证号进行连接,从而可以获得借阅了图书的读者姓名,图书表和借阅表通过共有属性总编号进行连接,从而可以获得借出图书的书名,由于要进行3个关系即借阅、图书和读者3个表的连接,必须将连接条件放在WHERE短语后面,两个连接条件即“图书.总编号=借阅.总编号”和“读者.借书证号=借阅.借书证号”由AND运算符连接。

  • 第2题:

    对于图书管理数据库,检索没有借阅任何图书的读者的姓名和所在单位。请对下面的 SQL语句填空: SELECT姓名,单位 FROM 读者 WHERE【 】 (SELECT*FROM 借阅 WHERE【 】


    正确答案:NOT EXISTS 借阅.借书证号=读者.借书证号
    查询操作使用SELECT命令,本题是连接查询和嵌套查询的结合使用,内层查询是将借阅表和读者表通过借书证号连接起来,查询的结果是所有借阅了图书的信息的集合,外层查询读者表中不在内层查询结果中出现的读者姓名和单位,在WHERE条件短语中要用NOTEXISTS谓词。EXISTS是谓词,EXISTS或NOTEXISTS是用来检查在子查询中是否有结果返回,即存在元组或不存在元组。

  • 第3题:

    对于图书管理数据库,检索当前至少借阅了两本图书的读者的姓名和所在单位。下面 SQL语句正确的是_________。 SELECT姓名,单位FROM读者WHERE借书证号IN;

    A.(SELECT 借书证号 FROM 借阅 GROUP BY 总编号 HAVING COUNT (*)>=2)

    B.(SELECT 借书证号 FROM 读者 GROUP BY 借书证号 HAVING COUNT(*)>=2)

    C.(SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 HAVING SUM(*)>=2)

    D.(SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 HAVING COUNT(*)>=2)


    正确答案:D
    解析:本题要求检索至少借阅了两本图书的读者,使用SELECT嵌套语句完成查询,内层循环通过对借书证号进行分组(分组的条件是统计该借书证号的使用次数大于等于2)宋显示出至少借阅了两本图书的借书证号,外层查询通过内层查询的结果显示其对应的姓名和单位。

  • 第4题:

    对于图书管理数据库,分别求出各个单位当前借阅图书的读者人次。下面的SQL语句正确的是( )。


    正确答案:B
    要分别求出各个单位查询借阅图书人的读者人次,而单位信息在读者表中,借阅图书的信息在借阅表中,需要通过共同的借书证号属性把两个表联接起来,即将借阅,借书证号=读者借书证号置于WHERE短语之后。把同借书号所借阅的图书数目都统计在内,所以不需要使用DISTINCT短语去掉重复值:需要按单位统计借阅图书的读者人次,通过GROUPBY命令实现按单位分组查询。

  • 第5题:

    对于图书管理数据库,要查询借阅了两本和两本以上图书的读者姓名和单位,请对下面的SQL语句填空: SELECT 姓名,单位 FROM 图书管理!读者; WHERE 借书证号 IN(SELECT【 】FROM 图书管理!借阅; GROUPBY 借书证号 【 】 COUNT(*)>=2)


    正确答案:借书证号 HAVING
    查询操作要用SELECT命令实现。本题是嵌套查询,其内层查询带有限定条件的分组查询。内层查询按借书证号进行分组,也就是按读者进行分组,对借阅表中的每一种借书证号所借的图书数目通过COUNT(*)进行统计,只查询借阅了两本和两本以上图书的借书证号,即COUNT(*)作为HAVING短语的条件,对分组进行限制。内层查询的结果得到借书证号的一个集合。外层查询依据内层查询的结果在读者表中查询相应的读者姓名和单位。