问答题 设在采用SQL Server 2008数据库的图书馆应用系统中有三个基本表,表结构如下所示,请用SQL语句完成下列两个查询:
问答题 检索至少借了5本书的同学的借书证号、姓名、系名和借书数量。
【正确答案】正确答案:SELECT LOANS.借书证号,姓名,系名,COUNT(*)AS借书数量 FROM BORROWER,LOANS WHERE BORROWER.借书证号=LOANS.借书证号 GROUP BY LOANS.借书证号 HAVING COUNT(*)>=5;
【答案解析】解析:采用两表联合查询。以两表“借书证号”为相等条件,在结果集中用GROUP BY按照“借书证号”来分类,并且用HAVING关键字统计出符合条件的记录数。
问答题 检索借书和王丽同学所借图书中的任意一本相同的学生姓名、系名、书名和借书日期。
【正确答案】正确答案:SELECT姓名,系名,书名,借书日期 FROM BORROWER,LOANS,BOOKS WHERE BORROWER.借书证号=LOANS.借书证号AND LOANS.图书登记号=BOOKS.图书登记号 AND索书号IN ( SELECT索书号FROM BORROWER,LOANS,BOOKS WHERE BORROW.借书证号=LOANS.借书证号 AND LOANS.图书馆登记号=BOOKS.图书登记号 AND姓名=“王丽” )
【答案解析】解析:采用IN关键字进行两表联合查询,在BORROWER和LOANS联合的结果集中查找满足第三个表指定的条件。