数据库SQL查询语句实验报告(2)
(25) 查询来自上海市的客户的姓名、电话、订单号及订单金额。
纾
select CustomerName ,telephone ,b.orderNo ,sum(quantity *price ) as ordersum from Customer a,OrderMaster b,OrderDetail c
where address ='上海市' and a.CustomerNo =b.CustomerNo and b.orderNo =c.orderNo group by CustomerName ,telephone ,b.orderNo 结果:
实验二题目
首先使用命令:
UPDATE OrderMaster SET orderSum =total FROM OrderMaster a, (SELECT orderNo ,sum(quantity *price ) as total FROM OrderDetail GROUP BY orderNo ) b WHERE a.orderNo =b.orderNo
更新表OrderMaster 中 orderSum 的值。
(1)查找有销售记录的客户编号、名称和订单总额。 命令:
SELECT a.CustomerNo ,CustomerName ,sum(orderSum ) Sum FROM Customer a,OrderMaster b
WHERE a.CustomerNo =b.CustomerNo and orderSum !=0 GROUP BY a.CustomerNo ,CustomerName 结果:
(2) 在订单明细表中查询订单金额最高的订单。 命令: SELECT *
FROM OrderMaster
WHERE orderSum =(SELECT max(orderSum ) FROM OrderMaster ) 结果:
(3) 查询没有订购商品的客户编号和客户名称。
纾
SELECT a.CustomerNo ,CustomerName , FROM Customer a WHERE NOT EXISTS ( SELECT * FROM OrderMaster b,OrderDetail c WHERE a.CustomerNo =b.CustomerNo and b.orderNo =c.orderNo ) GROUP BY a.CustomerNo ,CustomerName 结果:
(4) 找出至少被订购3次的商品编号、订单编号、订货数量和订货金额,并按订货数量的降序排序输出。 命令:
SELECT productNo ,orderNo ,quantity ,quantity *price 订货金额 FROM OrderDetail
WHERE productNO IN( SELECT productNo FROM OrderDetail GROUP BY productNo HAVING count(*)>=3) ORDER BY productNo desc 结果:
纾
(5) 使用子查询查找16M DRAM的销售情况,要求显示相应的销售员的姓名、性别,销售日期、销售数量和金额,其中性别用“男”、“女”表示。 命令:
SELECT employeeName , CASE sex WHEN'F' THEN '女' WHEN 'M' THEN '男' END AS 性别, orderDate ,quantity ,sum(quantity *price )as 金额 FROM Employee a,OrderMaster b,OrderDetail c
WHERE employeeNo =salerNo and b.orderNo =c.orderNo and ProductNo in (SELECT ProductNo FROM Product WHERE ProductName ='16M DRAM')
结果:
(6) 查询sales表中订单金额最高的订单号及订单金额。 命令:
SELECT orderNo ,orderSum FROM OrderMaster
WHERE orderSum =(SELECT max(orderSum ) FROM OrderMaster ) 结果:
(7) 计算出一共销售了几种商品。 命令:
SELECT count(distinct productNo ) 商品种类 FROM OrderDetail 结果:
纾
(8) 显示OrderDetail表中每种商品的订购金额总和,并且依据销售金额由大到小排序输出。 命令:
SELECT productNo ,sum(quantity *price ) 订购金额 FROM OrderDetail GROUP BY productNo
ORDER BY 订购金额 DESC 结果:
(9) 查找销售总额少于1000元的销售员编号、姓名和销售额。 命令:
SELECT employeeNo ,employeeName ,sum(orderSum ) 销售额
FROM OrderMaster a RIGHT OUTER JOIN Employee b ON salerNo =employeeNo WHERE employeeNo NOT IN ( SELECT salerNo FROM OrderMaster WHERE salerNo NOT IN( SELECT salerNo FROM OrderMaster GROUP BY salerNo HAVING sum(orderSum )<1000)) GROUP BY employeeNo ,employeeName 结果:
纾
(10) 找出目前业绩未超过5000元的员工,并按销售业绩的降序排序输出。 命令:
SELECT employeeNo ,employeeName ,sum(orderSum ) 销售额
FROM OrderMaster a RIGHT OUTER JOIN Employee b ON salerNo =employeeNo WHERE salerNo IN( SELECT salerNo FROM OrderMaster GROUP BY salerNo HAVING sum(orderSum )<5000) GROUP BY employeeNo ,employeeName ORDER BY 销售额 DESC 结果:
(11) 在Employee表中查询薪水超过员工平均薪水的员工信息。 命令:
SELECT employeeNo ,employeeName ,salary FROM Employee WHERE salary >( SELECT avg(salary ) FROM Employee )
GROUP BY employeeNo ,employeeName ,salary
结果:
(12) 计算每一种商品的销售数量、平均销售单价和总销售金额。 命令:
纾
SELECT productNo ,count(quantity ) 销售数量,avg(price ) 平均销售单价,sum(quantity *price ) 总销售额
FROM OrderDetail GROUP BY productNo ORDER BY productNo 结果:
(13) 查找至少有3次销售的业务员名单和销售日期。 命令:
SELECT employeeName ,orderDate FROM Employee a,OrderMaster b,( SELECT salerNo FROM OrderMaster GROUP BY salerNo HAVING count(*)>=3) c
WHERE employeeNo =b.salerNo and b.salerNo =c.salerNo GROUP BY employeeName ,orderDate 结果:
(14) 用存在量词查找没有订货记录的客户名称。 命令:
SELECT CustomerName FROM Customer a WHERE NOT EXISTS ( SELECT CustomerNo FROM OrderMaster b WHERE a.CustomerNo =b.CustomerNo )
纾
结果:
(15) 查询订单中所订购的商品数量没有超过10个的客户编号和客户名称。 命令:
SELECT a.CustomerNo ,a.CustomerName FROM Customer a WHERE EXISTS ( SELECT * FROM OrderDetail b,OrderMaster c WHERE a.CustomerNo =c.CustomerNo and b.orderNo =c.orderNo GROUP BY a.CustomerNo HAVING sum(quantity )<10) 结果:
(16) 在销售明细表中按商品编号进行汇总,统计每种商品的销售数量和金额。 命令:
SELECT productNo ,sum(quantity ) 销售数量,sum(quantity *price ) 金额 FROM OrderDetail GROUP BY productNo 结果:
(17) 按客户编号统计每个客户2008年2月的订单总金额。 命令:
SELECT a.CustomerNo ,orderSum ,orderDate
纾
FROM Customer a LEFT OUTER JOIN OrderMaster b ON a.CustomerNO =b.CustomerNo WHERE year(orderDate )='2008' and month(orderDate )='2' 结果:
(18) 查找定单金额高于8000的所有客户编号。 命令:
SELECT CustomerNo
FROM OrderDetail as a,OrderMaster as b WHERE a.orderNo =b.orderNo GROUP BY CustomerNo
HAVING sum(quantity *price )>8000 结果:
(19) 显示每种商品的销售金额总和,并依销售金额由大到小输出。 命令:
SELECT productNo ,sum(price *quantity ) 销售金额 FROM OrderDetail GROUP BY productNo
ORDER BY 销售金额 desc 结果 …… 此处隐藏:3501字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [高中教育]电子线路高频非线性部分2.1
- [高中教育]中班美术活动——我的小手
- [高中教育]常用三极管参数大全
- [高中教育]计算机常见故障及解决办法
- [高中教育]风机基础环水平度控制方法探讨
- [高中教育]机械安全工程(专升本)阶段性作业3
- [高中教育]2009年安徽省高考语文考试说明刍议
- [高中教育]unit5 let's eat公开课教案设
- [高中教育]计算机网络原理课后习题答案
- [高中教育]2016-2022年中国新能源市场研究与投资
- [高中教育]2015-2020年中国会议行业市场评估及投
- [高中教育]经销商大会峰会主持人串词开场白
- [高中教育]2014新版北师大数学三年级上册小熊购物
- [高中教育]七年级第一学期体育与健康全套教案
- [高中教育]第三章:国际金融市场
- [高中教育]六年级下册数学单元测试-2.比例 北师大
- [高中教育]2016年上海海事大学法学院624刑法之《
- [高中教育]中国碳化钙产业竞争现状及未来五年投资
- [高中教育]网络时代,我们怎么玩
- [高中教育]圆锥曲线——高中数学基础知识与典型例
- 高集医院世界艾滋病宣传日活动方案
- 苏教版六年级英语上册期末试卷含答案
- 全民枪战生化英雄模式幽灵怎么玩 生化
- 灿烂的宋元文化一导学案
- 第2章货币资金与应收款项
- 北师大版八年级下册数学第三章《分式》
- 浅析高分子材料成型加工技术
- 华南理工大学2013年度共青团先进集体及
- 教师资格科目二小学教案模板(共合集)
- 工程扩建可研报告
- 中华人民共和国海事局2014年度招录公务
- 提高农村小学生作文能力的教学尝试
- 徒手心肺复苏术操作步骤
- 毛概试题库7-15章
- 2014-2015学年度(上)初中班主任工作计
- 企业驾驶员安全生产责任书
- 第07章 不等式测试题-2016年高考文科数
- 医疗器械经营企业工作程序
- 考研英语必背36篇_彩版_精华
- 初中9月13-15假期作业 (1)




