实验五数据查询——复杂查询_实验五数据查询

其他范文 时间:2020-02-27 19:45:34 收藏本文下载本文
【www.daodoc.com - 其他范文】

实验五数据查询——复杂查询由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“实验五数据查询”。

数据库原理实验

学号:123012008xxx姓名:xxx班级(x)小班日期:2010年月日

实验五数据查询——复杂查询

一、实验目的1.掌握SQLServer查询语句的基本语法

2.熟练使用SQL的Select语句对多表进行查询

3.熟练掌握并运用SQLServer所提供的函数

4.熟练使用SQL语句进行复杂的连接操作

二、实验环境(实验的软件、硬件环境)

硬件:PC机 软件:SQL2000

三、实验指导说明

请复习相关的查询知识点并完成如下内容。

四、实验内容

1.在订单数据库orderDB中,完成如下的查询:

(1)用子查询查询员工“张小娟”所做的订单信息。

select *

from orderMaster

where SaleNo in()select distinct employeeno from employee where employeeName='陈诗杰'

(2)查询没有订购商品的且在北京地区的客户编号,客户名称和邮政编码,并按邮政编码降序排序。

select *

from customer c

where not exists(select * from orderMaster o where o.customerNo=c.CustomerNo)and Adder='北京市'

(3)查询订购了“32M DRAM”商品的订单编号,订货数量和订货单价。1

select OrderNo,Qty,Price

from orderDetail

where ProductNo in()select ProductNo from product where ProductName='32M DRAM'

(4)查询与员工编号“E2008005”在同一个部门的员工编号,姓名,性别,所属部门。

select * from employee

select *

from employee

where Department in()select Department from employee where employeeNo='E2008001'

(5)查询既订购了P20050001商品,又订购了P20070002商品的客户编号,订单编号和订单金额

select distinct

orderDetail.OrderNo,orderMaster.Ordersum,orderMaster.customerNo from orderDetail,orderMaster

where orderDetail.OrderNo=orderMaster.OrderNo and ProductNo='p2006002'intersect

select

orderDetail.OrderNo,orderMaster.Ordersum,orderMaster.customerNo from orderDetail,orderMaster

where orderDetail.OrderNo=orderMaster.OrderNo and

ProductNo='p2008001'

(6)查询没有订购“52倍速光驱”或“17寸显示器”的客户编号,客户名称。

select customerno,customername

from customer

where CustomerNo in(select customerNo

from orderMaster

where OrderNo in(select OrderNo

from orderDetail where ProductNo not in(select ProductNo from productwhere ProductName='52倍速光驱' or ProductName='17寸显示器')))

(7)查询订单金额最高的订单编号,客户姓名,销售员名称和相应的订单金额。

select

employee.employeeName,customer.customername,orderMaster.Ordersum from orderMaster,employee,customer

where Ordersum>=(select MAX(Ordersum)from orderMaster)and employeeNo=SaleNo and orderMaster.customerNo=customer.CustomerNo

(8)查询订购了“52倍速光驱”商品的订购数量,订购平均价和订购总金额。

select SUM(Qty)as totalq,AVG(Price)asavgprice,sum(Qty*Price)as totalp

from orderDetail

where ProductNo in(select distinct ProductNo

from product

where ProductName='52倍速光驱')

(9)查询订购了“52倍速光驱”商品且订货数量界于2~4之间的订单编号,订货数量和订货金额。

select Qty,Price,OrderNo

from orderDetail

where ProductNo in(select distinct ProductNo

from product

where ProductName='52倍速光驱')and OrderNo between '200801090002' and '200801090004'

(10)在订单主表中查询每个业务员的订单数量

selectsaleno,COUNT(*)

from orderMaster

group by SaleNo

(11)统计在业务科工作且在1973年或1967年出生的员工人数和平均工资。select COUNT(*)as peoplesum,AVG(Salsry)as avgs

from employee

wherebirthday like '%1973%' or birthday like '%1967%'and Department='业务科'

(12)在订单明细表中统计每种商品的销售数量和金额,并按销售金额的升序排序输出。

select Qty,Price

from orderDetail

order by Qty*Price asc

(13)统计客户号为“C20050001”的客户的订单数,订货总额和平均订货金额

select SUM(b.Qty)as qsum,avg(b.Price)as pavg,SUM(Qty*Price)as qp from orderMaster a,orderDetail b

where customerNo='c2005004' and a.OrderNo=b.OrderNo

(14)统计每个客户的订单数,订货总额和平均订货金额。

select customerno,COUNT(customerNo),avg(b.Price)as pavg,SUM(Qty*Price)as qp

from orderMaster a,orderDetail b

where a.OrderNo=b.OrderNo

group by customerNo

(15)查询订单中至少包含3种(含3种)以上商品的订单编号及订购次数,且订购的商品数量在3件(含3件)以上。

(16)查找订购了“32M DRAM”的商品的客户编号,客户名称,订货总数量和订货总金额。

select distinct

customer.CustomerNo,customername,orderMaster.Ordersum,Qty from orderMaster,customer,orderDetail

where ProductNo in(select distinct ProductNofrom productwhere ProductName='32M DRAM')and

orderMaster.customerNo=customer.CustomerNo and

orderDetail.OrderNo=orderMaster.OrderNo

(17)查询每个客户订购的商品编号,商品所属类别,商品数量及订货金额,结果显示客户名称,商品所属类别,商品数量及订货金额,并按客户编号升序和按订货金额的降序排序输出。

(18)按商品类别查询每类商品的订货平均单价在280元(含280元)以上的订货总数量,订货平均单价和订货总金额。

(19)查找至少有2次销售的业务员名称和销售日期。

(20)查询销售金额最大的客户名称和总货款额

(21)查找销售总额小于5000元的销售员编号,姓名和销售额

(22)查找至少订购了3种商品的客户编号,客户名称,商品编号,商品名称,数量和金额。

(23)查找同时订购了商品为“P20070002”和商品编号为“P20070001”的商品的客户编号,客户姓名,商品编号,商品名称和销售数量,按客户编号排序输出。

(24)计算每一商品每月的销售金额总和,并将结果首先按销售月份然后按订货金额降序排序输出。

(25)查询订购了“键盘”商品的客户姓名,订货数量和订货日期

(26)查询每月订购“键盘”商品的客户名称。

(27)查询至少销售了5种商品的销售员编号,姓名,商品名称,数量及相应的单价,并按销售员编号排序输出。

(28)查询没有订购商品的客户编号和客户名称。

(29)查询至少包含了“世界技术开发公司”所订购的商品的客户编号,客户名称,商品编号,商品名称,数量和金额。

五、实验步骤

请完成实验内容,并写出具体的实验步骤

六、思考题:

1.存在量词与集合运算in、连接运算和全程量词之间的关系如何?他们可以互相替换吗?给出你的理由

2.Where子句和having子句都是用于指定查询条件的,请区别它们的异同?用实例说明。

3.在分组聚集操作中,为什么在查询列中,除了聚集函数运算外,其它表达式必须包含在group by子句中?

七、总结(实验过程的体会、心得和实验教与学之间还需改进的内容)

acce数据综合查询

实验名称:数据综合查询实验目的:熟练掌握数据的综合查询方法实验内容:(1)利用“HappyYouAcce实验07学籍01.mdb”数据库完成: (A)建立一个汇总查询。该查询名称为“期未成绩汇总查询......

SQL数据查询语言

宁波工程学院数据库理论与技术课程实验报告学院: 电子与信息工程学院 专业:计算机科学与技术 年级: 计科10-2 实验时间: 2012年4月15日组长: 何亚玲 学号: 10401010201 指导教师签......

《数据的查询操作》

第八次作业11.检索年龄大于18岁的女学生的学号和姓名(注意:要给列起别名);use 学生课程数据库select sno ,snamefrom studentwhere sage>18 and ex='女'2.检索所有男学生选修......

多表数据记录查询

多表数据记录查询(集锦6篇)由网友“小母”投稿提供,以下是小编为大家准备了多表数据记录查询,欢迎参阅。篇1:多表数据记录查询 1、关系数据的各种操作并(union)把相同字段数目和字......

3数据库查询实验(3)

实验三 数据库查询实验(3)数据库的组合查询和统计查询实验课时安排:2课时 一、实验目的和要求使学生熟练掌握SQL Server查询分析器的使用方法.加深对SQL和Transact-SQL语言的查......

下载实验五数据查询——复杂查询word格式文档
下载实验五数据查询——复杂查询.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

热门文章
点击下载本文