设在采用SQL Server 2008数据库的图书馆应用系统中有三个基本表,表结构如下所示,请用SQL语句完成下列两个查询: BORROWER: (1)检索至少借了5本书的同学的借书证号、姓名、系名和借书数量。 (2)检索借书和王

admin2018-10-09  35

问题 设在采用SQL Server 2008数据库的图书馆应用系统中有三个基本表,表结构如下所示,请用SQL语句完成下列两个查询:
    BORROWER:

    (1)检索至少借了5本书的同学的借书证号、姓名、系名和借书数量。
    (2)检索借书和王丽同学所借图书中的任意一本相同的学生姓名、系名、书名和借书日期。

选项

答案(1)SELECT LOANS.借书证号,姓名,系名,COUNT(*)AS借书数量 FROM BORROWER,LOANS WHERE BORROWER.借书证号=LOANS.借书证号 GROUP BY LOANS.借书证号 HAVING COUNT(*)>=5; (2)SELECT姓名,系名,书名,借书日期 FROM BORROWER,LOANS,BOOKS WHERE BORROWER.借书证号=LOANS.借书证号AND LOANS.图

解析 (1)采用两表联合查询。以两表“借书证号”为相等条件,在结果集中用GROUP BY按照“借书证号”来分类,并且用HAVING关键字统计出符合条件的记录数。
    (2)采用IN关键字进行两表联合查询,在BORROWER和LOANS联合的结果集中查找满足第三个表指定的条件。
转载请注明原文地址:https://kaotiyun.com/show/6WlZ777K
0

最新回复(0)