1、数据结构实验34 数据库实验报告 题 目: 数据库上机实验报告 姓 名: 何霄 学 号: 2011080332707 专 业: 计算机科学与技术 编 制 时 间: 2014 年12 月5日 实验三SQL命令使用(二)复杂查询(2学时) 实验目的: (1)学习、掌握分组与汇总的函数的使用 (2)学习、掌握在SQL语句中使用函数的方法 (3)学习、掌握连接查询的方法 (4)学习、掌握子查询的方法 二、实验内容:/*1查询订单金额大于的顾客的名称和电话*/select Cname , Ctelfrom Customer , Orderswhere Oo=Coand Orders.Osum100;/*
2、2、查询所有签订订单的顾客的名称和邮编;*/select distinct Cname , Czipfrom Customer , Orderswhere Co=Oo; /*3、统计每类零件的数量分别为多少;*/select Ptype , sum(Pnum)from Storegroup by Ptype; /*4、统计每个顾客签订订单的次数;*/select Cname , count(Ono)from Customer , Orderswhere Co=ogroup by Customer.Cname;/*5、查询所有顾客签订订单的情况(包括没有签订订单的顾客);*/select *fr
3、om Customer left outer join Orders on (Co=Oo);/*6、查询没有卖过一次的零件号(没有订单);*/select pnofrom Storewhere not exists(select *from Orderswhere Orders.pno=Store.pno);/*7、查询每个顾客签订订单的金额总数;*/select Cname ,sum(Osum)from Customer left outer join Orders on (Co=Oo)group by cname;/*8、查询所有订单金额的平均值;*/select avg(Osum)fro
4、m Orders;/*9、查询至少签订过两次订单的顾客信息。*/select *from Customerwhere Cno in(select cnofrom Ordersgroup by cnohaving count(cno)=2);实验四视图和索引(1学时) 实验目的: (1)掌握建立、维护索引的方法 (2)掌握建立、使用视图的方法 实验内容: /*1) 建立一个视图,包括订单号、零件名称、顾客名称、订单金额等信息*/create view view1asselect Orders.Ono , Store.Pname ,Customer.Cname ,Orders.Osumfrom S
5、tore ,Customer ,Orderswith check option;/*2)建立一个视图,查询订单金额大于元的大客户信息*/。select *from view1where Osum10000;/*3)建立一个视图,查询每个顾客签订订单的总金额*/select cname ,sum(Osum)from view1group by Cname;/*4为OrderMag数据库设计索引,并建立到表上。*/create unique index Storei on Store (Pno)create unique index Customeri on Customer(cno)create
6、 unique index Ordersi on Orders(Ono);三、完成实验报告并回答问题1) 外连接与内联接的区别在哪里内连接是指只有满足连接条件的元组才能作为结果输出。而外连接则是指把舍弃的元组也保存在结果关系中,而在其他属性上填空值。2)使用子查询需要注意哪些事项子查询的select语句中不能使用order by子句,因为order by 子句只能对最终查询结果排序3) 视图的建立有哪些需注意的问题视图中的子查询可以是任意复杂的select语句,但通常不允许含有order by字句 和distinct短句4)索引的作用是什么?有什么分类?每类有什么特点?建立索引是加快查询速度的有效手段Unique表示此索引的每一个索引值只对应唯一的数据记录Cluster表示要建立的索引是聚簇索引 实验感想:本次实验让我掌握了视图的一些基本操作,使我加深了对视图的了解,我还需要注意一些索引的的运用,并尽量掌握更多的索引应用。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1