单选题
设有图书管理数据库:
图书(总编号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))
单选题
对于图书管理数据库,检索当前至少借阅了5本图书的读者的姓名和职称。下面SQL语句正确的是______。
SELECT姓名.职称FROM读者WHERE借书证号IN;______
【正确答案】
D
【答案解析】本题的要求是检索当前至少借阅了5本图书的读者的姓名和职称。因此在检索时需要按照读者进行分组,并且在每个组内需要保证至少借阅了5本书,因此该题日应该采用的SQL语句如下
SELECT姓名,职称FROM读者WHERE借书证号IN;
(SELECT借书证号FROM借阅GROUP BY借书证号.HAVING(*)>=5)
因此本题的正确选项应为D。
单选题
对于图书管理数据库,检索所有藏书的书名和出版单位。下面SQL语句正确的是______。
【正确答案】
A
【答案解析】本题的要求是检索所有藏书的书名和出版单位,因此在检索时只需要图书表就可以完成题目所要求的任务。采用的SQL语句如下
SELECT书名,出版单位FROM图书因此本题的正确应该是A。
单选题
对于图书管理数据库,检索所有借阅了图书的读者姓名和所在单位。下面SQL语句正确的是______。
SELECT DISTINCT姓名,单位FROM读者,借阅
【正确答案】
B
【答案解析】本题的要求是检索所有借阅了图书的读者姓名和所在单位。此时需要两个表才能够完成该任务,一个是读者表,另一个是借阅表,并且需要这两个表之间的连接才能完成题目的要求。本题应采用的SQL语句如下
SELECT DISTINCT姓名.单位FROM读者.借阅
WHERE读者.借书证号=借阅.借书证号*
因此本题的正确应该是B。
单选题
对于图书管理数据库,查询0001号借书证的读者姓名和所借图书的书名。下面SQL语句正确的是______。
SELECT姓名,书名FROM借阅,图书,读者WHERE;
借阅,借书证号="0001"AND;______
【正确答案】
A
【答案解析】题目的要求是查询0001号借书证的读者姓名和所借图书的书名。此时涉及三个表,读者、借阅和图书表,并且是一个多表查询的题目,其中读者表与图书表通过纽带表借阅表进行关联,本题所应该采用的SQL语句如下
SELECT姓名,书名FROM借阅,图书,读者;
WHERE借阆.借书证号="0001"AND;
图书.总编号=借阅.总编号AND读者.借书证号=借阅借书证号因此本题的正确应该是A。