实用标准文档
实验五 数据查询——复杂查询
一、实验目的
1.掌握SQLServer查询语句的基本语法 2.熟练使用SQL的Select语句对多表进行查询 3.熟练掌握并运用SQLServer所提供的函数 4.熟练使用SQL语句进行复杂的连接操作
二、实验环境(实验的软件、硬件环境)
硬件:PC机 软件:SQL2000
三、实验指导说明
请复习相关的查询知识点并完成如下内容。
四、实验内容
1.在订单数据库orderDB中,完成如下的查询: (1)用子查询查询员工“张小娟”所做的订单信息。
(2)查询没有订购商品的且在北京地区的客户编号,客户名称和邮政编码,并按邮政编码降序排序。
(3)查询订购了“32M DRAM”商品的订单编号,订货数量和订货单价。 (4)查询与员工编号“E2008005”在同一个部门的员工编号,姓名,性别,所属部门。
(5)查询既订购了P20050001商品,又订购了P20070002商品的客户编号,订单编号和订单金额
(6)查询没有订购“52倍速光驱”或“17寸显示器”的客户编号,客户名称。
(7)查询订单金额最高的订单编号,客户姓名,销售员名称和相应的订单金额。
(8)查询订购了“52倍速光驱”商品的订购数量,订购平均价和订购总金额。
文案大全
实用标准文档
(9)查询订购了“52倍速光驱”商品且订货数量界于2~4之间的订单编号,订货数量和订货金额。
(10)在订单主表中查询每个业务员的订单数量
(11)统计在业务科工作且在1973年或1967年出生的员工人数和平均工资。 (12)在订单明细表中统计每种商品的销售数量和金额,并按销售金额的升序排序输出。
(13)统计客户号为“C20050001”的客户的订单数,订货总额和平均订货金额
(14)统计每个客户的订单数,订货总额和平均订货金额。
(15)查询订单中至少包含3种(含3种)以上商品的订单编号及订购次数,且订购的商品数量在3件(含3件)以上。
(16)查找订购了“32M DRAM”的商品的客户编号,客户名称,订货总数量和订货总金额。
(17)查询每个客户订购的商品编号,商品所属类别,商品数量及订货金额,结果显示客户名称,商品所属类别,商品数量及订货金额,并按客户编号升序和按订货金额的降序排序输出。
(18)按商品类别查询每类商品的订货平均单价在280元(含280元)以上的订货总数量,订货平均单价和订货总金额。
(19)查找至少有2次销售的业务员名称和销售日期。 (20)查询销售金额最大的客户名称和总货款额
(21)查找销售总额小于5000元的销售员编号,姓名和销售额
(22)查找至少订购了3种商品的客户编号,客户名称,商品编号,商品名称,数量和金额。
(23)查找同时订购了商品为“P20070002”和商品编号为“P20070001”的商品的客户编号,客户姓名,商品编号,商品名称和销售数量,按客户编号排序输出。
(24)计算每一商品每月的销售金额总和,并将结果首先按销售月份然后按订货金额降序排序输出。
(25)查询订购了“键盘”商品的客户姓名,订货数量和订货日期
文案大全
实用标准文档
(26)查询每月订购“键盘”商品的客户名称。
(27)查询至少销售了5种商品的销售员编号,姓名,商品名称,数量及相应的单价,并按销售员编号排序输出。
(28)查询没有订购商品的客户编号和客户名称。
(29)查询至少包含了“世界技术开发公司”所订购的商品的客户编号,客户名称,商品编号,商品名称,数量和金额。
五、实验步骤
请完成实验内容,并写出具体的实验步骤
(1)用子查询查询员工“张小娟”所做的订单信息。 select orderMaster.* from employee ,orderMaster where orderMaster .SaleNo =employeeNo and employeeName in
(select employee.employeeName from employee where employeeName ='张小娟')
(2)查询没有订购商品的且在北京地区的客户编号,客户名称和邮政编码,并按邮政编码降序排序。 select distinct
customer.CustomerNo ,customer.customerName ,customer.Zip from customer ,orderMaster where customer .
customerNo not in(select orderMaster .customerNo from
orderMaster )and customer.addr='北京市'order by customer .Zip desc
(3)查询订购了“32M DRAM”商品的订单编号,订货数量和订货单价。
文案大全
实用标准文档
select orderDetail .OrderNo ,orderDetail .Qty ,orderDetail .Price from orderDetail ,product where orderDetail.ProductNo =product .ProductNo and ProductName ='32M DRAM'
(4)查询与员工编号“E2008005”在同一个部门的员工编号,姓名,性别,所属部门。
select employee .employeeNo ,employee .employeeName ,case employee.Sex when 'M'then '男'when 'F'then '女'end ,
employee .Department from employee where employee.Department =(select employee .Department from employee where employee .employeeNo ='E2008005')
(5)查询既订购了P20050001商品,又订购了P20070002商品的客户编号,订单编号和订单金额 select
customer .customerno,ordermaster .orderno ,ordermaster .ordersum from ordermaster ,customer,orderdetail where customer.customerno =ordermaster .customerno and ordermaster .orderno
=orderdetail .orderno and orderdetail .productno='P2007002' intersect select
customer .customerno,ordermaster .orderno ,ordermaster .ordersum
文案大全
相关推荐: