问题 问答题

设有3个基本表,表的结构如下所示,请用SQL完成下列查询。
BORROWER:

借书证号 姓名 系名 班级
105060911 欧阳 信息系 98-1
106880112 刘诚 信息系 98-1
105080103 赵林 计算机系 98-2
104230891 郑晓晓 外语系 05-4
LOANS:
借书证号 图书馆登记号 借书日期
105060911 T00101 1999.04.01
106880112 T00102 1999.05.01
105080103 T00201 1999.05.31
104230891 T00102 2010.1.23
BOOKS:
索书号 书名 作者 图书登记号 出版社 价格
TP311.13 数据库系统与应用 李昭原 T00101 科学 19.00
TP311.13 数据库原理与应用 李昭原 T00102 科学 19.00
TP.065 数据库系统原理 李昭原 T00201 北航 6.50
TP.1599 数据库原理教程 王珊 T00101 清华 18.50
①检索至少借了5本书的同学的借书证号、姓名、系名和借书数量。
②检索借书和欧阳同学所借图书中的任意一本相同的学生姓名、系名、书名和借书日期。
③建立信息系学生借书的视图SSP,该视图的属性列明由借书证号、姓名、班级、图书登记号、书名、出版社和借书日期组成。

答案

参考答案:①SELECT LOAN.借书证号,姓名,系名,COUT(*) AS 借书数量
FROM BORROWER,LOANS
WHERE BORROW.借书证号=LOANS.借书证号
GROUP BY LOANS.借书证号
HAVING COUT(*)>5
②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 姓名="欧阳");
③CREATE VIEW SSP
AS
SELECT BORROWER.借书证号,姓名,班级,LOANS.图书登记号,书名,出版社,借书日期
FROM BORROWER.借书证号=LOANS.借书证号
AND LOANS.图书登记号=BOOKS.图书登记号 AND 系名="信息系";

判断题
单项选择题