图书(总编号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),借书曰

admin2014-11-29  53

问题 图书(总编号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))
对于图书管理数据库,求ABC单位借阅图书的读者的人数。下面SQL语句正确的是(    )。

选项 A、SELECT COUNT(DISTINCT借书证号)FROM借阅WHERE;
    借书证号IN(SELECT借书证号FROM读者WHERE单位=”ABC”)
B、SELECT SUM(DISTINCT借书证号)FROM借阅WHERE;
    借书证号IN(SELECT借书证号FOR借阅WHERE单位=”ABC”)
C、SELECT COUNT(DISTINCT借书证号)FROM借阅WHERE;
    借书证号IN(SELECT借书证号FROM借阅 WHERE单位=”ABC”)
D、SELECT SUM(DISTINCT借书证号)FROM借阅WHERE;
    借书证号IN(SELECT借书证号FROM读者WHERE单位=”ABC”)

答案A

解析 COUNT命令统计数据表中的记录个数:SUM对数据表中所有数据值字段进行纵向求和。
  题目要求显示ABC单位的借阅图书的读者人数,本题使用的是嵌套查询语句,内层查询将单位是“ABC”的读者的借书证号查出来,外层查询根据内层查询的结果通过对借阅库的操作显示出单位为ABC的借阅图书的读者。当然有可能有的读者不止借阅过一次书,所有要在“借书证号”前加DlSTINCT命令去掉重复值,求的才是人数,而不是人次数。   
转载请注明原文地址:https://kaotiyun.com/show/6zEp777K
0

最新回复(0)