填空题
对于图书管理数据库,查询与“0005”号借书证借有相同书的借书证号。请对下面的SQL语句填空:
SELECT DISTINCT借书证号 FROM 借阅 WHERE 总编号;
【12】
第(12)~(13)是基于下述描述:
设有图书管理数据库:
图书(总编号 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))
【正确答案】
1、IN(SELECT 总编号 FROM 借阅 WHERE 借书证号="0005")
【答案解析】[知识点] SQL的数据查询功能/嵌套查询
[评析] 查询操作需使用SELECT命令。本题通过嵌套查询实现,内层查询的结果是“0005”号借书证所借图书的总编号的集合,再由外层查询在借阅表中查询借阅了总编号集合中的图书的借书证号。由于“0005”号借书证可能借阅了多本图书,又由于可能有读者借阅了两本或两本以上图书与“0005”号借书证所借的图书相同,这样会使查询结果出现重复值,所以要在SELECT后加DISTINCT短语取消重复值。