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

题目

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


相似考题
更多“对于图书管理数据库,检索没有借阅任何图书的读者的姓名和所在单位。请对下面的 SQL语句填空: SELECT姓名,单位 FROM 读者 WHERE【 】 (SELECT*FROM 借阅 WHERE【 】”相关问题
  • 第1题:

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

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

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

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

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


    正确答案:A
    解析:题目的要求是查询0001号借书证的读者姓名和所借图书的书名。此时涉及三个表,读者、借阅和图书表,并且是一个多表查询的题目,其中读者表与图书表通过纽带表借阅表进行关联,本题所应该采用的SQL语句如下
      SELECT 姓名,书名 FROM 借阅,图书,读者;
      WHERE 借阅.借书证号="0001"AND;
      图书.总编号=借阅.总编号AND读者.借书证号=借阅.借书证号
      因此本题的正确答案应该是A。

  • 第2题:

    如果要查询所藏图书中,各个出版社的图书最高单价、平均单价和册数,请对下面的SQL句填空。

    SELECT出版单位,MAX(单价),【1】 ,【2】;

    FROM图书管理!图书;【3】出版单位

    如果要查询借阅了两本和两本以上图书的读者姓名和单位,请对下列的SQL语句填空。

    SELECT姓名,单位;FROM图书管理!读者;

    (SELECT 【4】 FROM图书管理!借阅;

    GROUP BY借书证号;

    【5】 CoUNT(*)>=2)

    根据题目内容填写 【1】 。


    正确答案:
    AVG(单价)

  • 第3题:

    对于图书管理数据库,查询读者孙慨然的情况。下面SQL语句正确的是 ______。 SELECT*FROM读者

    A.WHERE姓名:”孙慨然”

    B.WHERE图书.姓名:”孙慨然”

    C.FOR姓名:”孙慨然”

    D.WHERE姓名:孙慨然


    正确答案:A
    解析:本题完成的操作是查询,查询使用SELECT命令,查询条件的是孙慨然的情况。在SQL语句中在WHERE语句后加条件表达式,所以选项C是不正确的,选项B中“图书.姓名”语句是错误的;因为在图书表中没有姓名字段,选项D字符型字段的内容没有加定界符。

  • 第4题:

    若用表Reader存储读者信息,Book表存储图书信息,Borrow表存储借阅情况。

    以下SQL语句是“查询证号为12345的读者当前所借阅的图书书名(即尚未归还的图书)”,请补充完整。

    SELECT 书名 FROM Book WHERE 流水号(1)

    (SELECT 流水号 FROM(2)WHERE 证号="12345" AND(3))

    以下SQL语句是“查询书名包含‘软件设计师’的图书情况”,请补充完整。

    SELECT * FROM Book WHERE 书名(4)"%软件设计师%"


    正确答案:(1)IN(2) Borrow(3) 归还标记="false"(4) LIKE
    (1)IN(2) Borrow(3) 归还标记="false"(4) LIKE 解析:空(1)是引出于查询的,该类连接词有:IN、NOT IN、EXISTS、NOT EXISTS,EXISTS引出的子查询一般是SELECT *型,故排除;再据语意分析应填IN。
    子查询的语意是“查询当前所借阅的图书流水号(即尚未归还的图书)”,因此应从Borrow表中查询,而且归还标记应为false,故空(2)应填Borrow,空(3)应填:归还标记="false"。
    对字符串进行的操作通常是使用操作符LIKE的模式匹配,正符合题意,故空(4)应填“LIKE”。

  • 第5题:

    对于图书管理数据库,检索藏书中比高等教育出版社的所有图书的书价更高的书,下面SQL语句正确的是______。 SELECT*FROM 图书 WHERE 单价>ALL;

    A.SELECT 书名 FROM 图书 WHERE 出版单位="高等教育出版社"

    B.(SELECT 单价 FROM 图书 WHERE 出版单位="高等教育出版社")

    C.SELECT 单价 FROM 图书 WHERE 读者.借书证号=借阅.借书证号

    D.(SELECT 书名 FROM 图书 WHERE 读者.借书证号=借阅.借书证号)


    正确答案:B
    解析:因为题目的要求是检索藏书中比高等教育出版社的所有图书的书价更高的书,因此需要使用关键字ALL,并且需要配合一个嵌套查询,因此本题应该使用的SQL语句如下:
      SELECT*FROM 图书 WHERE 单价>ALL;
      (SELECT 单价 FROM 图书 WHERE 出版单位="高等教育出版社")通过比较,可以看出正确答案应该是B。

  • 第6题:

    A) SELECT借阅过“中国出版社”图书的读者的姓名和所在单位

    A)SELECT姓名,所在单位FROM借书证,图书,借书记录

    WHERE图书.索书号=借书记录.索书号AND

    B)SELECT姓名,所在单位FROM图书,借书证

    WHERE图书.索书号=借书证.借书证号AND出版社="中国出版社"

    C) SELECT姓名,所在单位FROM图书,借书记录

    WHERE图书.索书号=借书记录,索书号AND出版社="中国出版社"

    D) SELECT姓名,所在单位FROM借书证,借书记录

    WHERE借书证.借书证号=借书记录.借书证号AND出版社="中国出版社"


    正确答案:A
    【答案】:A
    【知识点】:SQL语句中如何正确建立表间联系
    【解析】:从数据表中可以看出,所要查询的字段属于“借书证”表和“图书”表,但这两个表没有一个公共字段用以建立两表之间的联系,所以要借用第三个表中的字段建立联系,所以此题要通过这三个表建立查询,故选A。

  • 第7题:

    现有表:读者(读者姓名,读者单位,借书证号) 借阅(借书证号,图书名称,图书作者,出版单位) 从读者表和借阅表中查询借阅了两本及两本以上图书的读者姓名和读者单位,正确的SQL语句是( )。

    A. SELECT读者姓名,读者单位FROM读者WHERE借书证号IN; (SELECT借书证号FROM借阅GROUP BY借书证号HAVING COUNT(*)>=2)

    B. SELECT读者姓名,读者单位FROM读者WHERE借书证号EXISTS; (SELECT借书证号FROM借阅GROUP BY借书证号HAVING COUNT(*)>=2)

    C. SELECT读者姓名,读者单位FROM读者WHERE借书证号IN; (SELECT借书证号FROM借阅GROUP BY借书证号WHERE COUNT(*)>=2)

    D. SELECT读者姓名,读者单位FROM读者WHERE借书证号EXISTS; (SELECT借书证号FROM借阅GROUP BY借书证号WHERE COUNT(*)>=2)


    正确答案:A
    本题考查了SQL查询功能的嵌套查询和分组与计算查询。分组与计算查询中,利用HAVING进一步限定分组的条件。HAVING子句和WHERE子句不矛盾,在查询中是先用WHERE子句限定元组,然后进行分组,最后再用 HAVING子句限定分组。

  • 第8题:

    设有图书管理数据库: 图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2)) 读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20)) 借阅(借书证号C(4),总编号C(6),借书日期D(8)) 对于图书管理数据库,查询0002号借书证的读者姓名和所借图书的总价值。 下面SQL语句正确的是______。 SELECT 姓名,SUM(

    A.总编号IN (SELECT 总编号 FROM 借阅 WHERE 借书证号="0002")

    B.总编号 NOT IN (SELECT 总编号 FROM 借阅 WHERE 借书证号="0002")

    C.总编号=(SELECT 总编号 FROM 借阅 WHERE 借书证号="0002")

    D.WHERE 借书证号="0002"


    正确答案:A

  • 第9题:

    查询尚未归还书的图书编号和借书日期,正确的SQL语句是( )。

    A.SELECT图书编号,借书日期FROM借阅WHERE还书日期=""

    B.SELECT图书编号,借书日期FROM借阅WHERE还书日期=NULL

    C.SELECT图书编号,借书日期FROM借阅WHERE还书日期IS NULL

    D.SELECT图书编号,借书日期FROM借阅WHERE还书日期


    正确答案:C
    C。【解析】库表中还书默认值为NULL,未还书记录即为还书日期为NULL的记录,条件语句中应为ISNULL。

  • 第10题:

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


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

  • 第11题:

    第 26~27 题使用的数据表结果如下:

    图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))

    读者(借书证号C(4)单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))

    借阅(借书证号C(4),总编号C(6),借书日期D(8))

    第 26 题 对于图书管理数据库,求ABC单位借阅图书的读者的人数。下面SQL语句正确的是( )。

    A)SELECT COUNT(DISTINCT借书证号)FROM 借阅 WHERE;

    借书证号 IN(SELECT 借书证号 FROM 读者 WHERE 单位=“ABC”)

    B)SELECT SUM(DISTINCT 借书证号)FROM 借阅 WHERE;

    借书证号 IN(SELECT 借书证号FOR借阅WHERE 单位 =“ABC”) &&

    C)SELECT COUNT(DISTINCT借书证号)FROM 借阅 WHERE:

    借书证号 IN(SELECT 借书证号 FROM 借阅 WHERE单位 =“ABC”)

    D)SELECT SUM(DISTINCT 借书证号)FROM 借阅 WHERE;

    借书证号 IN(SELECT 借书证号 FROM 读者 WHERE 单位=”ABC”)


    正确答案:A
    COUNT命令统计数据表中的记录个数;
    SUM对数据表中所有数据值字段进行纵向求和。
    题目要求显示ABC单位的借阅图书的读者人数,本题使用的是嵌套查询语句,内层查询将单位是“ABC”的读者的借书证号查出来,外层查询根据内层查询的结果通过对借阅库的操作显示出单位为ABC的借阅图书的读者。当然有可能有的读者不止借阅过一次书,所有要在“借书证号”前加DISTINCT命令去掉重复值,求的才是人数,而不是人次数。

  • 第12题:

    单选题
    查询所有“工程师”读者借阅过的图书编号,正确的SQL语句是(  )。
    A

    SELECT图书编号FROM读者,借阅WHERE职称=工程师

    B

    SELECT图书编号FROM读者,图书WHERE职称=工程师

    C


    SELECT图书编号FROM借阅WHERE图书编号=
    (SELECT图书编号FROM借阅WHERE职称=工程师)

    D


    SELECT图书编号FROM借阅WHERE借书证号IN
    (SELECT借书证号FROM读者WHERE职称=工程师)


    正确答案: D
    解析:
    嵌套查询的表达式为:
    SELECT字段FROM表名WHERE字段IN(〝WH1〞,〝WH2〞)
    其中WH1,WH2为WHERE条件查询语句。
    题中要求查询所有“工程师”读者借阅过的图书编号,则只需借阅表中的借书证号满足一定范围即可,而这个范围就是读者表中所有职称为“工程师”的读者的借书证号。

  • 第13题:

    有如下SQL语句:

    SELECT读者.姓名,读者.职称,图书.书名,借阅.借书日期;

    FROM图书管理!读者,图书管理!借阅,图书管理!图书;

    WHERE借阅.借书证号=读者.借书证号;

    AND图书.总编号=借阅.总编号

    其中WHERE子句中的“借阅.借书证号=读者.借书证号”对应的关系操作是( )。


    正确答案:
    内部联接(INNER JOIN)或联接(JOIN)【解析】连接查询是一种基于多个关系的查询。

  • 第14题:

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

    SELECT 姓名,单位 FROM 读者 WHERE 借书证号 IN;

    设有图书管理数据库中包含以下表:

    读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))

    借阅(借书证号C(4),总编号C(6),借书日期D(8))

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

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

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

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


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

  • 第15题:

    查询所有“工程师”读者借阅过的图书编号,正确的SQL语句是( )。

    A.SELECT图书编号FROM读者,借阅WHERE职称="工程师"

    B.SELECT图书编号FROM读者,图书WHERE职称="工程师"

    C.SELECT图书编号FROM借阅WHERE图书编号= (SELECT图书编号FROM借阅WHERE职称="工程师")

    D.SELECT图书编号FROM借阅WHERE借书证号IN (SELECT借书证号FROM读者WHERE职称="工程师")


    正确答案:D
    D。【解析】这是一个基于多个关系的查询,查询结果出自一个关系,但相关条件却涉及多个关系。所以使用嵌套查询。

  • 第16题:

    对于图书管理数据库,求CIE单位借阅图书的读者的人数,下面SQL语句正确的是______。 SELECT______FROM借阅WHERE; 借书证号______

    A.COUNT(DISTINCT 借书证号); IN(SELECT 借书证号 FROM 读者 WHERE 单位="CIE")

    B.COUNT(DISTINCT 借书证号); IN(SELECT 借书证号 FROM 借阅 WHERE 单位="CIE")

    C.SUM(DISTINCT 借书证号); IN(SELECT 借书证号 FROM 读者 WHERE 单位="CIE")

    D.SUM(DISTINCT 借书证号); IN(SELECT 借书证号 FOR 借阅 WHERE 单位="CIE")


    正确答案:A
    解析:本题需要求的是CIE单位借阅图书的读者的人数。因此需要采用COUNT()函数来求读者人数,同时要保证借阅的读者是CIE单位的读者。通过以上分析可以知道所采用的SQL语句应该如下
      SELECT COUNT(DISTINCT 借书证号)FROM 借阅 WHERE
      借书证号 IN(SELECT 借书证号 FROM 读者 WHERE 单位="CIE")
      通过比对,可以知道选项A为正确选项。

  • 第17题:

    对于图书管理数据库,检索当前至少借阅了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)


    正确答案:D
    解析:本题的要求是检索当前至少借阅了2本图书的读者的姓名和所在单位。
      因此在检索时需要按照读者进行分组,并且在每个组内需要保证至少借阅了两本书,因此该题目应该采用的SQL语句如下
      SELECT 姓名,单位 FROM 读者 WHERE 借书证号 IN;
      (SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 HAVING COUNT(*)>=2)
      因此本题的正确选项应为D。

  • 第18题:

    现有表:读者(读者姓名,读者单位,借书证号)借阅(借书证号,图书名称,图书作者,出版单位)查询没有借阅图书的读者的姓名和借书证号,正确的SQL语句是( )。

    A. SELECT姓名FROM读者WHERE NOT EXISTS; (SELECT借书证号FROM借阅WHERE借阅.借书证号=读者借书证号)

    B. SELECT姓名,借书证号FROM读者WHERE (SELECT*FROM借阅WHERE借阅.借书证号=读者.借书证号)。

    C. SELECT姓名,借书证号FROM读者WHERE NOT EXISTS; (SELECT*FROM借阅WHERE借阅.借书证号=读者.借书证号)

    D. SELECT姓名,借书证号FROM读者WHERE借阅=NULL (SELECT*FROM借阅WHERE借阅.借书证号=读者.借书证号)


    正确答案:C
    谓词EXISTS用来检验在子查询中是否有结果返回,本题中内层查询引用了外层查询的表,所以是内外层相关嵌套查询。

  • 第19题:

    设有图书管理数据库: 图书(总编号 C(6),分类号 C(8),书名 C(16),作者 C(6),出版单位 C(20),单价 N(6,2)) 读者(借书证号 C(4),单位 C(8),姓名 C(6),性别 C(2),职称 C(6),地址 C(20)) 借阅(借书证号 C(4),总编号 C(6),借书日期 D(8)) 对于图书管理数据库,查询0002号借书证的读者姓名和所借图书的总价值。 下面SQL语句正确的是______。 SELECT 姓名,SUM(单价) FROM 图书,读者 WHERE; 借书证号="0002" AND;

    A.总编号 IN (SELECT 总编号 FROM 借阅 WHERE 借书证号="0002")

    B.总编号 NOT IN(SELECT 总编号 FROM 借阅 WHERE 借书证号="0002")

    C.总编号=(SELECT 总编号 FROM 借阅 WHERE 借书证号="0002")

    D.WHERE 借书证号="0002"


    正确答案:A
    解析:查询操作使用SELECT命令实现,这是计算查询与嵌套查询的结合使用。内层查询的结果是0002借书证的读者所借图书的总编号的集合,注意内层查询的WHERE后的借书证号是借阅表中的属性,因为FROM后指定的是借阅表,而外层查询中的WHERE后的借书证号是读者表的属性,因为外层FROM指定的是图书表和读者表,读者表中有借书证号属性。

  • 第20题:

    查询借阅了两本和两本以上图书的读者姓名和单位,应使用SQL语句

    A.SELECT姓名,单位FROM读者; WHERE借书证号IN; (SELECT借书证号FROM借阅; GROUP BY借书证号HAVING COUNT(*)>=2)

    B.SELECT姓名,单位FROM读者; WHERE借书证号EXISTS; (SELECT借书证号FROM借阅; GROUP BY借书证号HAVING COUNT(*)>=2)

    C.SELECT 姓名,单位 FROM 读者; WHERE 借书证号 EXISTS; (SELECT 借书证号 FROM 借阅; GROUP BY 借书证号 WHERE COUNT(*)>=2)

    D.SELECT 姓名,单位 FROM 读者; WHERE 借书证号 IN; (SELECT 借书证号 FROM 借阅; GROUP BY 借书证号 WHERE COUNT(*)>=2)


    正确答案:A
    解析:本小题考查了SQL查询功能的嵌套查询和分组与计算查询,分组与计算查询中,利用HAVING进一步限定分组的条件。HAVING子句和WHERE子句不矛盾,在查询中是先用WHERE子句限定元组,然后进行分组,最后再用HAVING子句限定分组。

  • 第21题:

    查询没有借阅图书的读者的姓名和借书证号,应使用SQL语句

    A.SELECT 姓名 FROM 读者 WHERE NOT EXISTS; (SELECT 借书证号 FROM 借阅 WHERE 借阅.借书证号=读者.借书证号)

    B.SELECT 姓名,借书证号 FROM 读者 WHERE (SELECT*FROM 借阅 WHERE 借阅.借书证号=读者.借书证号)

    C.SELECT 姓名,借书证号 FROM 读者 WHERE NOT EXISTS; (SELECT*FROM 借阅 WHERE 借阅.借书证号=读者.借书证号)

    D.SELECT 姓名,借书证号 FROM 读者 WHERE 借阅=NULL (SELECT*FROM 借阅 WHERE 借阅.借书证号=读者.借书证号)


    正确答案:C
    解析:谓词EXISTS用来检验在于查询中是否有结果返同,本题中内层查询引用了外层查询的表,所以是内外层相关嵌套查询。

  • 第22题:

    对于图书管理数据库,检索藏书中比高等教育出版衽的所有图书的书价更高的书。下 面SQL语句正确的是______。 SELECT*FROM 图书 WHERE 单价>ALL;______

    A.SELECT 书名 FROM 图书 WHERE 出版单位="高等教育出版社"

    B.(SELECT 单价 FROM 图书 WHERE 出版单位=“高等教育出版社”)

    C.SELECT 单价 FROM 图书 WHERE 读者.借书证号=借阅.借书证号

    D.(SELECT 书名 FROM 图书 WHERE 读者.借书证号=借阅.借书证号)


    正确答案:B

  • 第23题:

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

    A)SELECT单位,COUNT(借阅.借书证号)FROM借阅,读者WHERE;

    借阅.借书证号=读者.借书证号ORDERBY单位

    B)SELECT单位,COUNT(借阅.借书证号)FROM借阅,读者WHERE;

    借阅.借书证号=读者.借书证号GROUPBY单位

    C)SELECT单位,SUM(借阅.借书证号)FROM借阅,读者WHERE; &&

    借阅.借书证号=读者.借书证号HAVING单位

    D)SELECT单位,SUM(借阅.借书证号)FROM借阅,读者WHERE;

    借阅.借书证号=读者.借书证号GROUPBY单位


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