文档库 最新最全的文档下载
当前位置:文档库 › 实验五 查询的综合运用

实验五 查询的综合运用

实验五 查询的综合运用
实验五 查询的综合运用

实验五查询的综合运用

一、实验目的

利用SQL语句实现分组子句、摘要子句和函数等组合,可以实现对结果集全部数据统计、分组统计、全部记录与分组混合统计等多种多样的统计查询需求。掌握查询的综合使用,深刻理解查询语句的含义及使用。

二、实验内容

在读者_图书库中,用SQL表示下列操作。

(1)使用外部连接,查询所有读者借书的情况,最后结果中显示读者的姓名及所借图书的书号信息。

(2)使用外部连接,查询所有读者,所有图书的借阅情况,最后结果中显示读者的姓名,所借图书的书号及名称等信息。

(3)查询至少借了两本书的男性读者的编号及所借图书的数量,结果按照借书数量降序排序。

(4)查询借书数量最多的读者的编号及所借图书的数量。

(5)查询计算机类和电子工业出版社出版的图书。

(6)查找所有男性读者的信息,并将结果存到“男性读者”表中。(7)查询图书表中所有信息,将结果存到临时表tmp1中。

(8)列出计算机类图书的书号、名称及价格,最后求出册数和总价格。

(9)按类别列出所有图书的书号、名称及价格,并求出各类图书的总册数和总价格。

(10) 查询借阅了“刘洪亮”编写的任意一本图书的读者的编号。

(11) 查询借阅了“刘洪亮”编写的任意一本图书的读者的姓名。

三、实验参考操作

(1) select 姓名,书号from 读者left join 借阅

on 读者.编号=借阅.读者编号

(2) select 姓名,图书.书号,书名from 读者full join 借阅full join 图书

on 图书.书号=借阅.书号

on 读者.编号=借阅.读者编号

注意:在本命令中,两个“ON”语句的先后顺序。

(3) select 读者编号,count(*) 借书数量from 读者join 借阅

on 读者.编号=借阅.读者编号

where 性别='男'

group by 借阅.读者编号

having count(*)>=2

order by 2 desc

(4) select top 1 读者编号,count(*) 借书数量from 读者join 借阅on 读者.编号=借阅.读者编号

group by 借阅.读者编号

order by 2 desc

(5) select * from 图书where 类别='计算机类'

union

select * from 图书where 出版社='电子工业出版社'

(6) select * into 男性读者from 读者where 性别='男'

注:大家在资源管理器中找一下本例所生成的表“男性读者”的位置。

(7)select * into #tmp1 frm 图书

注:将结果保存为临时表的方法和保存为表的方法相同,只是在表名前加上一个#号,大家在资源管理器中找一下本例所生成的临时表tmp1的位置。

(8)select 书号,书名,定价from 图书

where 类别='计算机'

compute count(书号),sum(定价)

(9)select 书号,类别,书名,定价from 图书

order by 类别compute count(书号),sum(定价) by 类别

(10) select 读者编号from 借阅

where 书号=any

(select 书号from 图书where 作者='刘洪亮')

(11)select 姓名from 读者

where 编号in(select 读者编号from 借阅

where 书号=any

(select 书号

from 图书where 作者='刘洪亮'))

相关文档