itgle.com

有如下三个数据库表: 图书(索书号, 书名, 出版社, 定价, ISBN) 借书证(借书证号, 姓名, 性别, 专业, 所在单位) 借书记录(借阅号, 索书号, 借书证号, 借书日期, 还书日期) 查询2018年被借过图书的书名、出版社和借书日期,正确的SQL语句是______。A.SELECT A.书名, A.出版社, B.借书日期 FROM 图书 A INNER JOIN 借书记录 B ON A.索书号=B.索书号 WHERE B.借书日期=2018B.SELECT A.书名, A.出版社, B.借书

题目

有如下三个数据库表: 图书(索书号, 书名, 出版社, 定价, ISBN) 借书证(借书证号, 姓名, 性别, 专业, 所在单位) 借书记录(借阅号, 索书号, 借书证号, 借书日期, 还书日期) 查询2018年被借过图书的书名、出版社和借书日期,正确的SQL语句是______。

A.SELECT A.书名, A.出版社, B.借书日期 FROM 图书 A INNER JOIN 借书记录 B ON A.索书号=B.索书号 WHERE B.借书日期=2018

B.SELECT A.书名, A.出版社, B.借书日期 FROM 图书 A INNER JOIN 借书记录 B ON A.索书号=B.索书号 WHERE B.借书日期=YEAR(2018)

C.SELECT A.书名, A.出版社, B.借书日期 FROM 图书 A INNER JOIN 借书记录 B ON A.索书号=B.索书号 WHERE YEAR(B.借书日期)=2018

D.SELECT A.书名, A.出版社, B.借书日期 FROM 图书 A INNER JOIN 借书记录 B ON A.索书号=B.索书号 WHERE YEAR(B.借书日期)=YEAR(2018)


相似考题
参考答案和解析
D D。【解析】根据题干,要查找借书证上专业为“计算机”的所有信息,要使用SELECT*,表名为借书证则要使用FROM借书证,专业为“计算机”则要使用WHERE专业=”计算机”,所以答案选择D。
更多“有如下三个数据库表: 图书(索书号, 书名, 出版社, 定价, ISBN) 借书证(借书证号, 姓名, 性别, 专业, 所在单位) 借书记录(借阅号, 索书号, 借书证号, 借书日期, 还书日期) 查询2018年被借过图书的书名、出版社和借书日期,正确的SQL语句是______。”相关问题
  • 第1题:

    对于图书管理数据库,检索当前至少借阅了两本图书的读者的姓名和所在单位。下面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)来显示出至少借阅了两本图书的借书证号,外层查询通过内层查询的结果显示其对应的姓名和单位。

  • 第2题:

    根据以下资料,回答下列各题: 基于图书表、读者表和借阅表三个数据库表,它们的结构如下: 图书(图书编号,书名,第一作者,出版社):图书编号、书名、第一作者和出版社为C型字段,图书编号为主关键字; 读者(借书证号,单位,姓名,职称):借书证号、单位、姓名、职称为C型字段,借书证号 为主关键字; 借阅(借书证号,图书编号,借书日期,还书日期):借书证号和图书编号为C型字段,借书日期和还书日期为D型字段,还书日期默认值为NULL,借书证号和图书证号共同构成主关键字。 查询第一作者为“张三”的所有书名及出版社,正确的SQL语句是( )。

    A.SELECT书名,出版社FROM图书WHERE第一作者=张三

    B.SELECT书名,出版社FROM图书WHERE第一作者="张三"

    C.SELECT书名,出版社FROM图书WHERE"第一作者"=张三

    D.SELECT书名,出版社FROM图书WHERE"第一作者"="张三"


    正确答案:B
    B。【解析】查询条件语句中字段名不能用引号,字段内容为C型的条件值需要用引号。

  • 第3题:

    以下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运算符连接。

  • 第4题:

    以下题基于图书表、读者表和借阅表三个数据库表,它们的结构如下:

    图书(图书编号,书名,第一作者,出版社):图书编号、书名、第一作者和出版社为c型字段,图书编号为主关键字;

    读者(借书证号,单位,姓名,职称):借书证号、单位、姓名、职称为C型字段,借书证号为主关键字;

    借阅(借书证号,国书编号,借书日期,还书日期):借书证号和图书编号为C型字段,借书日期和还书日期为D型字段,还书日期默认值为NULL,借书证号和图书编号共同构成主关键字。

    查询第一作者为“张三”的所有书名及出版社,正确的SQL语句是

    A.sELECT书名,出版社FROM图书WHERE第一作者=张三

    B.SELECT书名,出版社FROM图书WHERE第一作者=“张三”

    C.sELECT书名,出版社FROM图书WHERE”第一作者“=张三

    D.sELECT书名,出版社FROM图书WHERE”第一作者”=“张三”


    正确答案:B
    解析:查询的基本形式为“SELECT-FROM-WHERE查询块”,多个查询块可嵌套执行。SELECT说明要查询的数据,FROM说明要查询的数据来自哪个或哪些表,wHERE说明查询条件,即选择元组的条件。此处需要注意的是字段值的表示方式,当需要指定某个特定的字段值时,应当用双引号(“”)进行表示,而对于特定的字段,不需加双引号。

  • 第5题:

    31-35题使用如下三个数据库表:

    图书(索书号,书名,出版社,定价,ISBN)

    借书证(借书证号,姓名,性别,专业,所在单位)

    借书记录(借阅号,索书号,借书证号,借书日期,还书日期)

    其中:定价是货币型,借书日期和还书日期是日期型,其它是字符型。

    查询借书证上专业为“计算机”的所有信息,正确的SQL语句是

    A)SELECT ALL FROM借书证WHERE专业兰="计算机"

    B) SELECT借书证号FROM借书证WHERE专业="计算机"

    C)SELECT ALL FROM借书记录WHERE专业="计算机"

    D) SELECT * FROM借书证WHERE专业="计算机"


    正确答案:D
    【答案】:D
    【知识点】:在SQL中,用“*”号表示要查询的所有字段,不能用ALL
    【解析】:此题要求查询所有的字段。在SELECT查询语句中,用“*”来表示所有要查询的字段,而不是使用ALL,故选项A和C是错误的,此题要求查询所有的字段,不是只查询“借书证号”字段,所以选项B也是错误的。故选D。

  • 第6题:

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

  • 第7题:

    设有图书管理数据库: 图书(总编号 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指定的是图书表和读者表,读者表中有借书证号属性。

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

    根据以下资料,回答下列各题: 使用如下三个数据库表: 图书(索书号,书名,出版社,专业,ISBN) 借书证(借书证号,姓名,性别,专业,所在单位), 借书记录(借阅号,索书号,借书证号,借书日期,还书日期) 其中:定价是货币型,借书日期和还书日期是日期型,其他是字符型。 查询借书证上专业为“计算机”的所有信息,正确的SQL语句是( )。

    A.SELECT ALL FROM借书证WHERE专业="计算机"

    B.SELECT借书证号FROM借书证WHERE专业="计算机"

    C.SELECT ALL FROM借书证录WHERE专业="计算机"

    D.SELECT*FROM借书证WHERE专业="计算机"


    正确答案:D
    D。【解析】根据题干,要查找借书证上专业为“计算机”的所有信息,要使用SELECT*,表名为借书证则要使用FROM借书证,专业为“计算机”则要使用WHERE专业=”计算机”,所以答案选择D。

  • 第10题:

    【程序说明】 设有图书表TSH,包括字段(总编号、分类号、书名、作者、出版单位、单价);读者表DZH(借书证号、姓名、性别、单位、职称、地址);借阅表JY(借书证号、总编号、借阅日期、备注)。下面程序的功能是打印已借书读者的借书证号、姓名、单位以及借阅图书的书名、单价、借阅日期。

    【程序】

    SET TALK OFF

    SELECT 1

    USE DZH

    (9) TO DSHH

    SELECT 2

    USE TSH

    INDEX ON 总编号 TO SHH

    SELECT 3

    USE JY

    SET RELATION TO 借书证号 INTO A

    (10)

    LIST (11) TO PRINT

    CLOSE ALL

    SET TALK ON

    RETURN

    (9)

    A.INDEX ON 借书证号

    B.INDEX ON 分类号

    C.INDEX ON 书名

    D.INDEX ON 姓名


    正确答案:A
    解析:读者表DZH的主键是借书证号字段,为了提高查找速度,需建立索引,读者表DZH的借书证号应为主索引。

  • 第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图书.索书号=借书记录.索书号
    AND借书证.借书证号=借书记录.借书证号AND出版社=中国出版社

    B


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

    C


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

    D


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


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

  • 第13题:

    查询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。

  • 第14题:

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

  • 第15题:

    以下3题是基于下述描述:

    设有图书管理数据库:

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

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

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

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

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

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


    正确答案:B
    解析:查询操作使用SELECT命令。本题是嵌套查询,内层查询的结果是藏书中高等教育出版社出版的图书的书价的集合。外层查询结果中的单价值应该大于内层查询结果书价集合中的所有值,使用ALL运算。内层查询要用一对圆括号括起来。

  • 第16题:

    设有图书(图书编号,书名,第一作者,出版社.、读者(借书证号,姓名,单位,职称.和借阅(借书证号,图书编号,借书日期,还书日期.三张表,则表借阅的关键字(键或码.为( )。

    A.借书证号,图书编号

    B.图书编号,借书日期

    C.借书日期,还书日期

    D.借书证号,借书日期


    正确答案:A
    在二维表中凡能唯一标识元组的最小属性集称为关键字,关键字具有标识元组、建立元组间联系等重要作用。此题中,(借书证号,图书编号)是表借阅的主键,借书证号、图书编号分别是外键,借书证号是读者表的主关键字,图书编号是图书表的主关键字。

  • 第17题:

    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。

  • 第18题:

    现有表:读者(读者姓名,读者单位,借书证号) 借阅(借书证号,图书名称,图书作者,出版单位) 从读者表和借阅表中查询借阅了两本及两本以上图书的读者姓名和读者单位,正确的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子句限定分组。

  • 第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))

    对于图书管理数据库,查询0001号借书证的读者姓名和所借图书的书名。

    SQL语句正确的是______。

    SELECT 姓名,书名 FROM 借阅,图书,读者 WHERE;

    借阅.借书证号="0001" AND;

    ______

    ______

    A、图书.总编号=借阅.总编号 AND;

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

    B、图书.分类号=借阅.分类号 AND;

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

    C、读者.总编号=借阅.总编号 AND;

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

    D、图书.总编号=借阅.总编号 AND;

    读者.书名=借阅.书名


    正确答案:A

  • 第20题:

    连编后可以脱离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运算符连接。

  • 第21题:

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

    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。

  • 第22题:

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

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

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

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

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


    正确答案:B

  • 第23题:


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

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

  • 第24题:

    单选题
    查询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。