单选题
(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出版单位,MAX(单价),AVG(单价)FROM图书; ______
【正确答案】
B
【答案解析】[解析] 这是一个分组计算查询,要使用 SELECT命令来实现。首先按出版单位进行分组,通过 GROUP BY短语实现分组,计算每个出版社出版图书的最高价和平均单价,通过函数MAX()和AVG()实现。由于不是要查询所有出版社的信息,而是查询藏书中至少有该出版社两种图书的出版社的这些信息,即要查询的分组要满足一定的条件,这时需要用HAVING子句来限定分组的条件。IIAVING是要依赖于GROUP BY而存在,不能单独使用,COUNT(DISTINCT总编号)统计每个出版社的图书种数。DISTINCT起到的作用是去掉重复值。
单选题
对于图书管理数据库,求人民邮电出版社出版图书的最高单价、最低单价和平均单价。下面SQL语句横线部分,命令正确的是 SELECT______FROM 图书; WHERE 出版单位="人民邮电出版社"
【正确答案】
A
【答案解析】[解析] 题目要求求最高单价、最低单价和平均价,分别使用最大值、最小值、平均值函数-
MAX()、MIN()和AVG()。COUNT()、SUM()分别是统计和求和函数。
单选题
对于图书管理数据库,检索当前至少借阅了两本图书的读者的姓名和所在单位。下面 SQL语句,正确的是 SELECT姓名,单位FROM读者WHERE借书证号IN; ______
【正确答案】
D
【答案解析】[解析] 本题要求检索至少借阅了两本图书的读者,使用SELECT嵌套语句完成查询,内层循环通过对借书证号进行分组(分组的条件是统计该借书证号的使用次数大干等于2)来显示出至少借阅了两本图书的借书证号,外层查询通过内层查询的结果显示其对应的姓名和单位。