如果要查询借阅了两本和两本以上图书的读者姓名和单位,请对下面的SQL语句填空。 SELECT姓名,单位
A.图书.编号=借阅.编号 AND 借阅.借书证号=读者.借书证号
B.图书.分类号=借阅.分类号 AND 借阅.借书证号=读者.借书证号
C.读者.编号=借阅.编号 AND 借阅.借书证号=读者.借书证号
D.图书.编号=借阅.编号 AND 借阅.书名=读者.书名
以下是某图书管理系统的数据库模式: 读者(借书证号,姓名,联系电话,身份证号,注销标记) 主键:借书证号 出版社(出版社名称,联系电话,地址) 主键:出版社名称 采购图书(ISBN,书名,作者,责任编辑,出版社名称,出版时间,单价,馆藏数量) 主键:ISBN 外键:出版社名称,参照 出版社(出版社名称) 上架图书(内部编码,检索号,借阅状态,ISBN,上架时间) 主键:内部编码 外键:ISBN,参照 采购图书(ISBN) 借阅(借阅编号,借书证号,图书内部编码,借阅时间,归还时间) 主键:借阅编号 外键:借书证号,参照 读者(借书证号) 图书内部编码,参照 上架图书(内部编码) 请基于上述数据库模式,用SQL实现以下操作: 1、创建基本表“采购图书”,要求包含主、外键定义,以及其它相关的完整性约束。 2、在已成功创建的“读者”基本表上,添加对属性“注销标记”的约束,要求该属性的值只能为“是”或“否”。 3、列出借书证编号为”S20170204”的读者借阅过的所有书籍的名称。 4、读者未归还的图书超过一定数量将不能再办理图书借阅,实现查询读者未归还的图书数量。 5、查询已采购图书中尚未上架的图书ISBN和书名,以便于指导工作人员及时上架图书(要求:不要使用集合查询实现)。 6、列出所有的上架图书的ISBN号和总被借阅次数(提示:考虑外连接)。 7、计算借书次数最多的读者姓名和身份证号(要求:先创建读者借阅次数视图,再在视图上查询)。 8、借书证编号为”S20170204”的读者曾借阅过一本《数据库原理与应用》,今日前来归还,经扫描该本书的内部编码是“N20160347”,请更新相关基本表中的数据。 9、增加一条记录到读者表中,借书证编号为“S20190141”,姓名为“张赫”,其他信息未知。 10、从基本表“上架图书”中删除那些已上架两年但从未被借过的图书。 11、图书的借阅情况是图书流通的历史记录,图书管理员只能添加记录和修改归还时间,而没有其他权限,请实现对图书管理员的授权操作。 12、读者经常按书名进行上架图书的查询,涉及到基本表“上架图书”和“采购图书”的连接,为加快查询速度,请在“上架图书”表的属性“ISBN”创建非聚集索引。
A.SELECT 姓名,职称 FROM 读者 WHERE 借书证号 NOT IN(SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 HAVING COUNT(*)=1)
B.SELECT 姓名,职称 FROM 读者 WHERE 借书证号 IN(SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 HAVING COUNT(*)=1)
C.SELECT 姓名,职称 FROM 读者 WHERE 借书证号 IN(SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 WHERE COUNT(*)=1)
D.SELECT 姓名,职称 FROM 读者 WHERE 借书证号 IN(SELECT 借书证号 FROM借阅 ORDER BY 借书证号 HAVING COUNT(*)=1)
以下3题基于图书管理数据库: 图书(总编号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.(SELECT借书证号FROM借阅GROUPBY总编号HAVINGCOUNT(*)>=2)
B.(SELECT借书证号FROM读者GROUPBY借书证号HAVINGCOUNT(*)>=2)
C.(SELECT借书证号FROM借阅GROUPBY借书证号HAVINGSUM(*)>=2)
D.(SELECT借书证号FROM借阅GROUPBY借书证号HAVINGCOUNT(*)>=2)