问题
问答题
设有3个基本表,表的结构如下所示,请用SQL完成下列查询。
BORROWER:
借书证号 | 姓名 | 系名 | 班级 |
105060911 | 欧阳 | 信息系 | 98-1 |
106880112 | 刘诚 | 信息系 | 98-1 |
105080103 | 赵林 | 计算机系 | 98-2 |
104230891 | 郑晓晓 | 外语系 | 05-4 |
借书证号 | 图书馆登记号 | 借书日期 |
105060911 | T00101 | 1999.04.01 |
106880112 | T00102 | 1999.05.01 |
105080103 | T00201 | 1999.05.31 |
104230891 | T00102 | 2010.1.23 |
索书号 | 书名 | 作者 | 图书登记号 | 出版社 | 价格 |
TP311.13 | 数据库系统与应用 | 李昭原 | T00101 | 科学 | 19.00 |
TP311.13 | 数据库原理与应用 | 李昭原 | T00102 | 科学 | 19.00 |
TP.065 | 数据库系统原理 | 李昭原 | T00201 | 北航 | 6.50 |
TP.1599 | 数据库原理教程 | 王珊 | T00101 | 清华 | 18.50 |
②检索借书和欧阳同学所借图书中的任意一本相同的学生姓名、系名、书名和借书日期。
③建立信息系学生借书的视图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 系名="信息系";