单选题
设有图书管理数据库:
图书(总编号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;
借阅.借书证号=读者.借书证号______
【正确答案】
A
【答案解析】题目中给出了三个数据表。本题要求的是各单位当前借阅图书的人次,因此必须采用COUNT()函数来求得总人数,然后应该以各个单位进行分组操作。通过考虑这两个方面的内容,本题的正确答案应该是
SELECT单位,COUNT(借阅.借书证号)FROM借阅,读者WHERE;
借阅.借书证号=读者.借书证号GROUP BY单位
因此应该选择A。
单选题
对于图书管理数据库,要查询所藏图书中各个出版社的图书最高单价、平均单价和册数.下面SQL语句正确的是______。
SELECT出版单位,______,______,______;
FROM图书______出版单位
【正确答案】
D
【答案解析】本题要求的是查询所藏图书中,各个出版社的图书最高单价、平均单价和册数,因此首先可以肯定的是将会用到GROUP BY子句,同时需要知道最高单价和平均单价,因此肯定需要用到MAX和AVG函数,最后还需要统计每个出版社的图书的册数,因此还需要利用COUNT()函数,根据以上分析,最后所采用的SQL语句应该是
SELECT出版单位,MAX(单价),AVG(单价),COUNT(*)
FROM图书GROUP BY出版单位
因此选项D为正确答案。
单选题
对于图书管理数据库,求CIE单位借阅图书的读者的人数,下面SQL语句正确的是______。
SELECT______FROM借阅WHERE;
借书证号______
【正确答案】
A
【答案解析】本题需要求的是CIE单位借阅图书的读者的人数。因此需要采用COUNT()函数来求读者人数,同时要保证借阅的读者是CIE单位的读者。通过以上分析可以知道所采用的SQL语句应该如下
SELECT COUNT (DISTINCT借书证号)FROM借阅WHERE
借书证号IN(SELECT借书证号FROM读者WHERE单位="CIE")
通过比对,可以知道选项A为正确选项。
单选题
对于图书管理数据库,检索藏书中比高等教育出版设的所有图书的书价更高的书,下面SQL语句正确的是______。
SELECT*FROM图书WHERE单价>ALL;
【正确答案】
B
【答案解析】因为题目的要求是检索藏书中比高等教育出版社的所有图书的书价更高的书,因此需要使用关键字ALL,并且需要配合一个嵌套查询,因此本题应该使用的SQL语句如下:
SELECT*FROM图书WHERE单价>ALL;
(SELECT单价FROM图书WHERE出版单位="高等教育出版社")
通过比较,可以看出正确答案应该是B。
单选题
对于图书管理数据库,检索当前至少借阅了2本图书的读者的姓名和所在单位,下面SQL语句正确的是______。
SELECT姓名,单位FROM读者WHERE借书证号IN;______
【正确答案】
D
【答案解析】本题的要求是检索当前至少借阅了2本图书的读者的姓名和所在单位。
因此在检索时需要按照读者进行分组,并且在每个组内需要保证至少借阅了两本书,因此该题目应该采用的SQL语句如下
SELECT姓名,单位FROM读者WHERE借书证号IN;
(SELECT 借书证号FROM借阅GROUP BY借书证号HAVING COUNT(*)>=2)
因此本题的正确选项应为D。