问题 单项选择题

以下各题基于图书表、读者表和借阅表三个数据库表,它们的结构如下:
图书(图书编号,书名,第一作者,出版社):图书编号、书名、第一作者和出版社为C型字段,图书编号为主关键字;
读者(借书证号,单位,姓名,职称):借书证号、单位、姓名、职称为C型字段,借书证号为主关键字;
借阅(借书证号,图书编号,借书日期,还书日期):借书证号和图书编号为C型字段,借书日期和还书日期为D型字段,还书日期默认值为NULL,借书证号和图书证号共同构成主关键字。

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

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

多项选择题
单项选择题