1、.实验五 数据查询和连接查询一实验目的使学生熟练掌握简单表的数据查询、数据连接查询以及数据排序的操作方法,并加深对 Transact-SQL 语言的查询语句的理解。二实验软件环境SQL Server2012三实验内容(一) 实验要求:在 SQL Server 2012 查询设计器中,并用 SELECT 语句及 WHERE 查询条件进行简单查询及连接查询实验,其次使用 ORDER BY 排序子句实现输出结果的排序。主要内容包括:1) 简单查询操作 包括投影、选择条件、数据排序等。2) 连接查询操作 包括等值连接、自然连接、外连接、内连接、左连接和右连接等。( 二 ) 要 求 完 成 以 下 查
2、询 要 求 : 1)将清华大学出版社的书存入永久计算机图书表。2) 将借书日期在 2012 年以前的借阅记录存入临时超期借阅表。3) 查询发生了借阅关系的借书证号、借阅姓名等信息,并按借书证号降序排列。4) 查询“清华大学出版社”出版的图书情况。5) 查询目前被借出去的书籍的书号、借书证号以及借出日期,并按借出日期降序排序。6) 查询“程军”老师所借阅的书籍的书名。7) 查询借书者的编号、姓名、单位、所借书号、书名和借阅日期,并按读者编号排序。四实验的结果及分析(1) 将计算机类的书存入永久计算机图书表CREATE TABLE Computer_Book (bno char(8) PRIMAR
3、Y KEY, categoryvarchar(10),.titlevarchar(40) NOT NULL,pressvarchar(30) NOT NULL, book_yearInt NOT NULL,authorvarchar(20),pricedecimal(7,2) NOT NULL, book_totalInt NOT NULL)INSERT INTO Computer_Book SELECT *FROM Book WHERE press=清华大学出版社; select *from Computer_Book; 【查看表】(2) 将借书日期在 2012 年以前的借阅记录存入临时超期
4、借阅表。CREATE TABLE #Overdue_Borrow(cnochar(7)FOREIGN KEY(CNO) REFERENCES Card(cno), bnochar(8)FOREIGN KEY(BNO) REFERENCES Book(bno), borrow_dateSMALLDATETIMEDEFAULT GETDATE(),return_dateSMALLDATETIME,CONSTRAINT CBB_PRIM PRIMARY KEY(cno,bno,borrow_date)INSERT INTO Overdue_Borrow SELECT *from Borrow WHE
5、RE YEAR(borrow_date)=all(select sum(book_total) from book group by book_year);/*查询每本借书证的借书册数*/ use Liabery_3115001482;select cno,count(cno)as count_borrow from borrow group by cno;/*今年未借过书的借书证*/ use Liabery_3115001482;select * from card where not exists (select * from borrow where cno=o );/*哪个系的同学借书
6、最多*/.use Liabery_3115001482;select department from Card, Borrow where Co = Bogroup by departmenthaving count(Bo)=all(select count(Bo)from Card, Borrow where Co = Bo group by department)/*今年哪种类型的书借出最多*/ use Liabery_3115001482;select category from Book, Borrow where Book.bno = Borrow.bno group by categoryhaving count(Borrow.bno)=all(select count(Borrow.bno)from Book, Borrow where Book.bno = Borrow.bno group by category)这里是并列一样多。五实验心得体会通过实验,对嵌套查询进行实质性的操作,在实践的基础上,更是懂得了其理论原理,表明对老师及书本上的知识更进一步的了解,对数据库的学习又迈出了新的一步。.