单选题
第(33)~(35)是基于下述描述:
设有图书管理数据库:
图书(总编号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图书管理!图书 出版单位
【正确答案】 D
【答案解析】[知识点] SQL的数据查询功能/连接查询 [评析] 查询操作用SELECT命令实现,本题属于分组计算查询。所要查询的数据来自一个表,通过GROUP BY短语关于出版社进行分组,并通过函数MAX()和AVG()来计算每一组内单价的最大值和平均值,通过 COUNT(*)来统计每一组的个数。
单选题 对于图书管理数据库,分别求出各个单位当前借阅图书的读者人次。下面的SQL语句正确的是______。 SELECT 单位, FROM 借阅,读者 WHERE; 借阅.借书证号=读者.借书证号
【正确答案】 A
【答案解析】[知识点] SQL的数据查询功能/连接查询;分组查询 [评析] 本题是连接查询和分组查询集合使用。要分单位查询借阅图书的读者人次,而单位信息存储在读者表中,借阅图书的信息存贮在借阅表中,需要通过共同的借书证号属性把两个表连接起来,即将借阅.借书证号=读者.借书证号置于WHERE短语之后, 把相同借书号所借阅的图书数目都统计在内,所以不需要使用DISTINCT短语去掉重复值;需要按单位统计借阅图书的读者人次,通过GROUPBY命令实现按单位分组查询。 本题若改为分别求出各个单位当前借阅图书的读者人数,则要加上DISTINCT短评去掉重复值;以便统计出读者人数。
单选题 对于图书管理数据库,检索借阅了《现代网络技术基础》一书的借书证号。下面SQL 语句正确的是______。 SELECT借书证号FROM借阅WHERE总编号=;
【正确答案】 B
【答案解析】[知识点] SQL的数据查询功能/嵌套查询 [评析] 本题是嵌套查询,内层查询完成的是对图书表中书名为“现代网络技术基础”书的总编号,将查出的总编号作为给外层查询WHERE后的条件,外层循环完成的是在借阅表中总编号为内层查询查出来的结果的记录的借书证号。