数据库实验7报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一.实验目的

使学生熟练掌握数据查询中分组、统计、计算和组合的操作方法,并加深对Transact-SQL语言的查询语句的理解。

二.实验软件环境

Microsoft SQL Server 2000上的查询分析器

三.实验内容

要求完成以下查询要求:

1)查询计算机类和机械工业出版社出版的图书。

2)查询藏书在10本以上的书(书名、作者、出版社、年份)。

3)查询“数据库系统原理教程,王珊,清华大学出版社出版”还有多少本。

4)查询最近两年(2006、2007年)都未被借过的书。

5)查询藏书种数、总册数、最高价、最低价。

6)查询哪些出版社的总藏书超过100种。

7)查询目前已借出多少册书。

8)查询这样的图书类别:要求该类别中最高的图书定价不低于该类别的图书平均定价的2倍。9)查询“机械工业出版社”的各类图书的平均定价。

10)查询计算机类图书的书号、名称及价格,并计算册数和总价格。

四.实验的结果及分析

根据实验内容,利用SQL语句在查询分析器中输入如下代码并输出相应结果,

/*查询计算机类和机械工业出版社出版的图书*/

use Labery_3111001381

select * from book where category='计算机'

union

select * from book where press='机械工业出版社'

/*查询藏书在10本以上的书(书名、作者、出版社、年份)*/

use Labery_3111001381

select title,author,press,book_year from book

where book_total>10

/*查询"数据库系统原理与应用.蔡延光.机械工业出版社"*/

use Labery_3111001381

select book_total from book

where title='数据库原理与应用'

and author='蔡延光'

and press='机械工业出版社'

/*查询最近两年(2006、2007)都未被借过的书*/

use Labery_3111001381

select book.* from book,borrow

where borrow.bno=book.bno and year(borrow_date)<>year(getdate()) and year(borrow_date)<>year(getdate()-1)

union

select * from book where bno not in (select bno from borrow)

/*查询藏书总数、总册数、最高价、最低价*/

use Labery_3111001381

select count(category) as count_category,

sum(book_total) as book_total,

max(price) as max_price,

min(price) as min_price

from book

/*查询哪些出版社的总藏书超过100本*/

use Labery_3111001381

select press from book

group by press

having sum(book_total)>100

/*查询目前已借出多少册书*/

use Labery_3111001381

select count(bno) as current_borrow from book

/*查询这样的图书类别:要求该类别中最高的图书定价低于该类别的图书平均定价的2倍*/ use Labery_3111001381

select category from book group by category

having max(price)<=avg(price)*2

/*查询“机械工业出版社”的各类图书的平均定价*/

use Labery_3111001381

select category,avg(price) as avg_pricce from book

where press='机械工业出版社'

group by category

/*查询计算机类图书的书号、名称及价格,并计算册数和总价格*/

use Labery_3111001381

select bno,title,price,book_total,price*book_total as price_total from book

where category='计算机'

五. 实验心得体会

在大数据量的情况下在临时表中保持数据的子集,以在随后的连接中使用,这样能大大改善性能,如果访问很频繁,加载就会加重,tempdb的性能就会对整个DB产生重要的影响。而SELECT查询语句则可能要重复查询工作。而视图虽然使操作简单,安全性高,但由于视图是虚拟的表,在使用包括视图引用的SQL语句时,除了执行所键入的SQL语句中的查询或更新之外,还要告诉DBMS执行定义视图的查询,这就影响了查询的效率。

相关文档
最新文档