Oracle

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

题目

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

  • A、将没借书的读者信息也查出来
  • B、只查出被借走的图书信息
  • C、将没被借走的图书信息也查出来
  • D、只查出被借走图书的书号和书名
参考答案和解析
正确答案:B
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

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

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

第3题:

( 35 )查询所有 “ 工程师 ” 读者借阅过的图书编号,正确的 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

第4题:

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

第5题:

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

第6题:

有如下SQL语句:

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

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

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

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

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


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

第7题:

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

第8题:

对于图书管理数据库,检索所有借阅了图书的读者姓名和所在单位。下面SQL语句正确的是______。 SELECT DISTINCT 姓名,单位 FROM 读者,借阅

A.WHERE 图书.总编号=借阅.总编号

B.WHERE 读者.借书证号=借阅.借书证号*

C.WHERE 总编号 IN(SELECT 借书证号 FROM 借阅)

D.WHERE 总编号 NOT IN(SELECT 借书证号 FROM 借阅)


正确答案:B
解析:本题的要求是检索所有借阅了图书的读者姓名和所在单位。此时需要两个表才能够完成该任务,一个是读者表,另一个是借阅表,并且需要这两个表之间的连接才能完成题目的要求。本题应采用的SQL语句如下
  SELECT DISTINCT 姓名,单位 FROM 读者,借阅
  WHERE 读者.借书证号=借阅.借书证号*
  因此本题的正确答案应该是B。

第9题:

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

第10题:

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

更多相关问题