分析以下的SQL命令:SELECT图书.书号,图书.书名,借阅.读者号FROM借阅RIGHTJOIN图书ON图书.书号=借阅.书号。如下描述正确的是()。A、将没借书的读者信息也查出来B、只查出被借走的图书信息C、将没被借走的图书信息也查出来D、只查出被借走图书的书号和书名

题目

分析以下的SQL命令:SELECT图书.书号,图书.书名,借阅.读者号FROM借阅RIGHTJOIN图书ON图书.书号=借阅.书号。如下描述正确的是()。

  • A、将没借书的读者信息也查出来
  • B、只查出被借走的图书信息
  • C、将没被借走的图书信息也查出来
  • D、只查出被借走图书的书号和书名

相似考题
更多“分析以下的SQL命令:SELECT图书.书号,图书.书名,借阅.读者号FROM借阅RIGHTJOIN图书ON图书.书号=借阅.书号。如下描述正确的是()。A、将没借书的读者信息也查出来B、只查出被借走的图书信息C、将没被借走的图书信息也查出来D、只查出被借走图书的书号和书名”相关问题
  • 第1题:

    25) “ 图书 ” 表中有字符型字段 “ 图书号 ” 。要求用 SQL DELETE 命令将图书号以字母 A 开头的图书记录全部打上删除标记,正确的命令是

    A)DELETE FROM 图书 FOR 图书号 LIKE " A % "

    B)DELETE FROM 图书 WHILE 图书号 LIKE " A % "

    C)DELETE FROM 图书 WHERE 图书号 = " A* "

    D)DELETE FROM 图书 WHERE 图书号 LIKE " A% "


    正确答案:D

  • 第2题:

    查询2011年被借过图书的书名、出版社和借书日期,正确的SQL语句是( )。

    A.SELECT书名,出版社,借书日期FROM图书,借书记录 WHERE借书日期=2011 AND图书.索书号=借书记录.索书号

    B.SELECT书名,出版社,借书日期FROM图书,借书记录 WHERE借书日期=YEAR(2011)AND图书.索书号=借书记录.索书号

    C.SELECT书名,出版社,借书日期FROM图书,借书记录 WHERE图书.索书号=借书记录.索书号AND YEAR(借书日期)=2011

    D.SELECT书名,出版社,借书日期FROM图书,借书记录 图书.索书号=借书记录.索书号AND WHERE YEAR(借书日期)=YEAR(2011)


    正确答案:C
    C。【解析】根据题干所要查询的字段为书名、出版社和借书日期,其中涉及的表为图书和借书记录表,其中用图书.索书号和借书记录.索书号进行连接,并且结束日期为2011,其中年要使用YEAR函数,所以答案选择C。

  • 第3题:

    对于图书管理数据库,检索藏书中比高等教育出版社的所有图书的书价更高的书,下面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。

  • 第4题:

    查询所有“工程师”读者借阅过的图书编号,正确的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
    解析:此处涉及嵌套查询的知识,根据题目分析可知需要采用嵌套的SQL语句进行查询。“工程师”来自读者表中的职称字段,“图书编号”来自借阅表,而读者表和借阅表共有字段为借书证号,所以此查询WHERE条件应该为借书证号,所以选D。

  • 第5题:

    现有表:读者(读者姓名,读者单位,借书证号)借阅(借书证号,图书名称,图书作者,出版单位)查询没有借阅图书的读者的姓名和借书证号,正确的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用来检验在子查询中是否有结果返回,本题中内层查询引用了外层查询的表,所以是内外层相关嵌套查询。

  • 第6题:

    阅读以下说明,回答问题l~3。

    [说明]

    读者在图书馆借阅图书时,需要凭借图书证,同时还要记录借书日期、书号和图书证号。图书证的属性有借书证号、姓名、性别和地址;图书的属性有书号、书名、作者、出版社、出版日期和定价。

    根据上述语义设计E—R模型,并标出联系类型


    正确答案:

  • 第7题:

    连编后可以脱离Visual FoxPro独立运行的程序是 ______。

    以下2题使用如下图书管理数据库:

    图书(总编号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))

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

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

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

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

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


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

  • 第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))
    对于图书管理数据库,查询0001号借书证的读者姓名和所借图书的书名。
    SQL语句正确的是( )。
    SELECT姓名,书名FROM借阅,图书,读者WHERE:;
    借阅.借书证号=“0001”AND; .

    A.图书.总编号=借阅.总编号AND;读者.书名=借阅.书名
    B.图书.分类号=借阅.分类号AND;读者,借书证号=借阅.借书证号
    C.读者.总编号=借阅.总编号AND;读者,借书证号=借阅.借书证号
    D.图书,总编号=借阅.总编号AND;读者.借书证号=借阅,借书证号

    答案:D
    解析:
    对于图书管理数据库,查询0001号借书证的读者姓名和所借图书的书名SQL语句正确的是:SELECT姓名,书名FROM借阅,图书,读者WHERE借阅,借书证号:“0001”AND图书.总编号=借阅.总编号AND;读者,借书证号=借阅.借书证号。

  • 第9题:

    设有关系模式:图书借阅(读者号,书号,借书日期,还书日期),其中书号代表唯一的一本书,若允许读者在不同时间借阅同一本书,则此关系模式的主键是()。

    • A、(读者号,图书号)
    • B、(读者号)
    • C、(读者号,图书号,借书日期)
    • D、(读者号,图书号,借书日期,还书日期)

    正确答案:C

  • 第10题:

    单选题
    查询所有“工程师”读者借阅过的图书编号,正确的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条件查询语句。
    题中要求查询所有“工程师”读者借阅过的图书编号,则只需借阅表中的借书证号满足一定范围即可,而这个范围就是读者表中所有职称为“工程师”的读者的借书证号。

  • 第11题:

    单选题
    查询2011年被借过图书的书名、出版社和借书日期,正确的SQL语句是(  )。
    A


    SELECT书名,出版社,借书日期FROM图书,借书记录
    WHERE借书日期=2011 AND图书.索书号=借书记录.索书号

    B


    SELECT书名,出版社,借书13期FROM图书,借书记录
    WHERE借书日期=YEAR(2011)AND图书.索书号=借书记录.索书号

    C


    SELECT书名,出版社,借书日期FROM图书,借书记录
    WHERE图书.索书号=借书记录.索书号AND YEAR(借书日期)=2011

    D


    SELECT书名,出版社,借书日期FROM图书,借书记录图书.索书号=借书记录.索书号AND
    WHERE YEAR(借书日期)=YEAR(2011)


    正确答案: C
    解析:
    考查嵌套查询的知识点。查询2011年被借过的图书信息,在WHERE语句中,条件应为
    图书.索书号=借书记录.索书号AND YEAR(借书日期)=2011。

  • 第12题:

    填空题
    已知图书管理系统包含一张图书表,其模式为:图书表(书号,书名,出版社,作者,馆藏册数)。要查找借阅书号为“B001”的书名、作者和出版社,可用SQL语句:SELECT 书名,作者,出版社 FROM()WHERE 书号="B001"。

    正确答案: 图书表
    解析: 暂无解析

  • 第13题:

    查询所有“工程师”读者借阅过的图书编号,正确的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。【解析】这是一个基于多个关系的查询,查询结果出自一个关系,但相关条件却涉及多个关系。所以使用嵌套查询。

  • 第14题:

    若用表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”。

  • 第15题:

    以下2题使用如下图书管理数据库:

    图书(总编号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))

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

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

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

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

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


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

  • 第16题:

    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。

  • 第17题:

    "图书"表中有字符型字段“图书号”。要求用SQL DELETE命令将图书号以字母A开头的图书记录全部打上删除标记,正确的命令是( )。

    A. DELETE FROM图书FOR图书号LIKE”A%”

    B. DELETE FROM图书WHILE图书号LIKE”A%”

    C. DELETE FROM图书WHERE图书号=”A%”

    D. DELETE FROM图书WHERE图书号LIKE”A%”


    正确答案:D
    SQL从表中删除数据的命令格式如下:DELETE FROM表名[WHERE条件]
    正确答案为:DELETE FROM图书WHERE图书号LIKE“A%”。这里的LIKE是字符串匹配运算符,通配符“%”表示0个或多个字符。

  • 第18题:

    写出查读者A(询图书证号为0427)借阅图书B(书号为TP311)的日期。


    正确答案:Select 借书日期 from 借阅 Where图书证号=0427 and 书号=TP311
    Select 借书日期 from 借阅 Where图书证号=0427 and 书号=TP311

  • 第19题:

    查询所有借阅过“中国出版社”图书的读者的姓名和所在单位( )。

    A.SELECT姓名,所在单位FROM借书证,图书,借书记录 WHERE图书.索书号=借书记录.索书号AND 借书证.借书证号=借书记录.借书证号AND出版社=”中国出版社”

    B.SELECT姓名,所在单位FROM图书,借书证 WHERE图书.索书号=借书证.借书证号AND出版社=”中国出版社”

    C.SELECT姓名,所在单位FROM图书,借书记录 WHERE图书.索书号=借书记录.索书号AND出版社=”中国出版社”

    D.SELECT姓名,所在单位FROM借书证,借书记录 WHERE借书证.借书证号=借书记录.借书证号AND出版社=”中国出版社”


    正确答案:A
    A。【解析】题干中要查询借书人的单位和姓名,要用到3个表,其中图书表和借书记录表通过字段索书号进行连接,借书证表和借书记录表通过借书证号连接,同时借阅的是“中国出版社”,所以出版社=”中国出版社”,所以答案选择A。

  • 第20题:


    A.图书,总编号=借阅.总编号AND读者,书名=借阅.书名
    B.图书,分类号=借阅,分类号AND读者.借书证号=借阅,借书证号
    C.读者,总编号=借阅.总编号AND读者,借书证号=借阅.借书证号
    D.图书,总编号=借阅.总编号AND读者,借书证号=借阅,借书证号

    答案:D
    解析:
    对于图书管理数据库,查询0001号借书证的读者姓名和所借图书的书名SQL语句正确的是:SELECT姓名,书名FROM借阅,图书,读者WHERE借阅,借书证号=“0001”AND图书.总编号=借阅.总编号AND读者.借书证号=借阅,借书证号。

  • 第21题:

    已知图书管理系统包含一张图书表,其模式为:图书表(书号,书名,出版社,作者,馆藏册数)。要查找借阅书号为“B001”的书名、作者和出版社,可用SQL语句:SELECT 书名,作者,出版社 FROM()WHERE 书号="B001"。


    正确答案:图书表

  • 第22题:

    单选题
    查询所有借阅过“中国出版社”图书的读者的姓名和所在单位的SQL语句是(  )。
    A


    SELECT姓名,所在单位FROM借书证,图书,借书记录WHERE图书.索书号=借书记录.索书号
    AND借书证.借书证号=借书记录.借书证号AND出版社=中国出版社

    B


    SELECT姓名,所在单位FROM图书,借书证WHERE图书.索书号=借书证.借书证号
    AND出版社=中国出版社

    C


    SELECT姓名,所在单位FROM图书,借书记录WHERE图书.索书号=借书记录.索书号
    AND出版社=中国出版社

    D


    SELECT姓名,所在单位FROM借书证,借书记录
    WHERE借书证.借书证号=借书记录.借书证号AND出版社=中国出版社


    正确答案: C
    解析:
    从数据表中可以看出,所要查询的字段包括“姓名”和“所在单位”两个字段,这两个字段都属于“借书证”表,查询的条件是所有借阅过“中国出版社”图书的读者姓名和所在单位,又涉及了“出版社”字段,此字段位于“图书”表中,但不能从“借书证”表和“图书”表这两个表中查询,因为这两个表没有一个公共字段用以建立两表之间的联系,所以要借用借书记录中的字段建立联系,进而通过这三个表建立查询。借阅过“中国出版社”图书的读者的WHERE条件的表达式为:
    图书.索书号=借书记录.索书号AND借书证.借书证号=借书记录.借书证号AND出版社="中国出版社"

  • 第23题:

    单选题
    “图书”表中有字符型字段“图书号”。要求用SQL DELETE命令将图书号以字母A开头的图书记录全部打上删除标记,正确的命令是(  )。
    A

    DELETE FROM图书FOR图书号LIKE″A%″

    B

    DELETE FROM图书WHILE图书号LIKE″%″

    C

    DELETE FROM图书WHERE图书号=″A*″

    D

    DELETE FROM图书WHERE图书号LIKE″A%”


    正确答案: A
    解析:
    SQL删除数据的命令格式如下:
    DELETE FROM TableName[WHERE Condition]
    FROM指定从哪个表中删除数据,WHERE指定被删除的记录所满足的条件,如果不使用WHERE子句,则删除该表中的全部记录。字符串的模糊匹配,用LIKE运算符,图书WHERE图书号LIKE“A%”表示“图书”表中所有“图书号”以A开头的字符型字段。