问题
单项选择题
设有图书管理数据库:
图书(总编号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))
对于图书管理数据库,检索当前至少借阅了2本图书的读者的姓名和所在单位,下面SQL语句正确的是______。
SELECT姓名,单位FROM读者WHERE借书证号IN;______
A.(SELECT借书证号FROM借阅GROUP BY总编号HAVING COUNT(*)>=2)
B.(SELECT借书证号FROM读者GROUP BY借书证号HAVING COUNT(*)>=2)
C.(SELECT借书证号FROM借间GROUP BY借书证号HAVING SUM(*)>=2)
D.(SELECT借书证号FROM借阅GROUP BY借书证号HAVING COUNT(*)>=2)
答案
参考答案:D
解析:本题的要求是检索当前至少借阅了2本图书的读者的姓名和所在单位。
因此在检索时需要按照读者进行分组,并且在每个组内需要保证至少借阅了两本书,因此该题目应该采用的SQL语句如下
SELECT姓名,单位FROM读者WHERE借书证号IN;
(SELECT 借书证号FROM借阅GROUP BY借书证号HAVING COUNT(*)>=2)
因此本题的正确选项应为D。