资源描述:
《数据结构域算法设计-实验四复杂查询(2)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.复杂查询(2)实验报告学号:姓名:项目名称:实验四复杂查询(2)一一、实验目的(1)熟练掌握SQL语句的使用。(2)熟练使用SQL语句进行复杂的连接操作。二、实验内容及要求导入实验三中保存的订单数据库OrderDB.mdf。完成之后,进行以下的实验。写出相对应的SQL语句,并给出查询结果。1.统计订单主表的订单金额。(用订单明细表中的订单汇总金额更新订单主表相应的订单金额属性)2.查询订单金额最高的订单编号、客户姓名、销售员名称和相应的订单金额。3.统计客户号为“C20050001”的客户的客户名、订单数、订货总额和平均订货金额。(表头用中文显示)4.统计每个客户的客户号、客户名、订单数
2、、订货总额和平均订货金额。(表头用中文显示)5.查询没有订购“52倍速光驱”或“17寸显示器”的客户编号、客户名称。(包括没有订购任何商品的客户)6.查询有订购商品,但没有订购“52倍速光驱”或“17寸显示器”的客户编号、客户名称。7.查找订购了“32MDRAM”的商品的客户编号、客户名称、订货总数量和订货总金额。8.查询每个客户订购的商品编号、商品所属类别、商品数量及订货金额,结果显示客户名称、商品所属类别、商品数量及订货金额,并按客户编号升序和按订货金额的降序排序输出。9.按商品类别查询每类商品的订货平均单价在280元(含280元)以上的订货总数量、订货平均单价和订货总金额。10.查找
3、至少有2次销售的业务员名单、订单号和销售日期,并按业务员姓名升序排序输出。日期按yyyy-mm-dd显示。1.查找销售金额最大的客户号、客户名称和总货贷额。2.查找销售总额少于5000元的销售员编号、姓名和销售额。3.查找至少订购了3种商品的客户编号、客户名称、商品编号、商品名称、数量和金额,并按客户编号排序输出。4.查找同时订购了商品编号为“P20070001”和商品编号为“P20070002”的商品的客户编号、客户姓名、商品编号、商品名称和销售数量,按客户编号排序输出。5.计算每一商品每月的销售次数和销售金额总和,结果显示商品编号、销售月份、每月的销售次数和销售金额总和,并将结果首先按
4、销售月份升序排序,再按订货金额降序输出。三、实验结果1.统计订单主表的订单金额。SQL语句:UPDATEOrderMasterSETorderSum=金额FromOrderMastera,(SELECTorderNo,SUM(quantity*price)金额FROMOrderDetailGROUPBYorderNo)bWHEREa.orderNo=b.orderNo查询结果:2.查询订单金额最高的订单编号、客户姓名、销售员名称和相应的订单金额。SQL语句:SELECTc.orderNo,b.customerName,a.employeeName,orderSumFROMEmployeea
5、,Customerb,OrderMastercWHEREa.employeeNo=c.salerNoANDb.customerNo=c.customerNoANDorderSum=(SELECTMAX(orderSum)FROMOrderMaster)查询结果:3.统计客户号为“C20050001”的客户的客户名、订单数、订货总额和平均订货金额。(表头用中文显示)SQL语句:SELECTcustomerName客户名,定单数=COUNT(a.orderNo),orderSum订货总额,(orderSum/COUNT(a.orderNo))平均订货金额FROMOrderDetaila,Cus
6、tomerb,OrderMastercWHEREa.orderNo=c.orderNoANDb.customerNo=c.customerNoANDc.customerNo='C20050001'GROUPBYcustomerName,orderSum查询结果:4.统计每个客户的客户号、客户名、订单数、订货总额和平均订货金额。(表头用中文显示)SQL语句:SELECTb.customerNo客户号,customerName客户名,定单数=COUNT(a.orderNo),orderSum订货总额,(orderSum/(COUNT(a.orderNo)))平均订货金额FROMOrderDet
7、aila,Customerb,OrderMastercWHEREa.orderNo=c.orderNoANDb.customerNo=c.customerNoGROUPBYcustomerName,orderSum,b.customerNo查询结果:5.查询没有订购“52倍速光驱”或“17寸显示器”的客户编号、客户名称。(包括没有订购任何商品的客户)SQL语句:SELECTcustomerNo,customerNameF