14. 按类别,产品分组,统计销售额。 use eee
SELECT 产品名称,类别名称,SUM(订单明细.单价*数量*(1-折扣)) AS 销售额 FROM 产品,类别,订单明细
WHERE 产品.产品ID = 订单明细.产品ID AND 产品.类别ID = 类别.类别ID GROUP BY 产品名称,类别名称
15. 查询海鲜类别最大的一笔订单。
SELECT TOP(1) 订单ID,SUM(订单明细.单价*数量*(1-折扣)) AS 销售额 FROM 产品,类别,订单明细 WHERE 类别名称='海鲜'
AND 产品.产品ID = 订单明细.产品ID AND 产品.类别ID = 类别.类别ID GROUP BY 订单ID
ORDER BY 销售额DESC
16. 按季度统计销售量
SELECT YEAR(订购日期) AS 年度,datename(quarter,订购日期) AS 季度, SUM(订单明细.单价*数量*(1-折扣)) AS 销售额 FROM 订单,订单明细
WHERE 订单.订单ID = 订单明细.订单ID
GROUP BY YEAR(订购日期),datename(quarter,订购日期) ORDER BY 年度,季度
17. 查出订单总额超出5000的所有订单,客户名称,客户所在地区。 SELECT 订单.订单ID,公司名称,地区 FROM 订单,订单明细,客户
WHERE 客户.客户ID = 订单.客户ID AND 订单.订单ID = 订单明细.订单ID GROUP BY 订单.订单ID,公司名称,地区 HAVING SUM(单价*数量*(1-折扣))>5000
18. 查询哪些产品的年度销售额低于2000
SELECT YEAR(订购日期),产品名称,SUM(订单明细.单价*数量*(1-折扣)) AS 销售额 FROM 订单,产品,订单明细
WHERE 订单.订单ID = 订单明细.订单ID AND 产品.产品ID = 订单明细.产品ID GROUP BY YEAR(订购日期),产品名称
HAVING SUM(订单明细.单价*数量*(1-折扣))<2000
19. 查询所有订单ID开头为102的订单 SELECT 订单.* FROM 订单
WHERE 订单ID LIKE '102%'
20. 查询所有“中硕贸易”,“学仁贸易”,“正人资源”,“中通”客户的订单,(要求使用in
函数) SELECT 订单.* FROM 订单,客户
WHERE 订单.客户ID = 客户.客户ID
AND 公司名称IN ('中硕贸易','学仁贸易','正人资源','中通')
-----以上考试时间一个半小时
21. 查询所有订单中月份不是单数的订单。 SELECT 订单ID,订购日期 FROM 订单
WHERE MONTH(订购日期)%2=0
22. 分别各写一个查询,得到订单中折扣为15%,20%的所有订单,并将两个查询再组成一
个。
SELECT 订单.*
FROM 订单,订单明细
WHERE 折扣IN('0.15','0.2')
AND 订单.订单ID = 订单明细.订单ID
23. 找出在入职时已超过30岁的所有员工信息 use eee
SELECT 雇员.* FROM 雇员
WHERE YEAR(雇用日期)-YEAR(出生日期)>=30
24. 找出所有单价大于30的产品(附加要求,产品类别,供应商作为参数,当产品类别和供
应商都为空的时候,nofilter) SELECT 产品名称,类别名称,公司名称 FROM 产品,类别,供应商 WHERE 单价>30
AND 产品.类别ID = 类别.类别ID
AND 产品.供应商ID = 供应商.供应商ID AND 类别名称IS NOT NULL AND 公司名称IS NOT NULL
25. 查询所有库存产品的总额,并按照总额排序
SELECT 产品ID,产品名称,SUM(单价*库存量) AS 库存总额 FROM 产品
GROUP BY 产品ID,产品名称 ORDER BY 库存总额DESC
26. 检索出职务为销售代表的所有订单中,每笔订单总额低于2000的订单明细,以及相关
供应商名称。
SELECT 订单明细.*,公司名称
FROM 订单,订单明细,供应商,产品,雇员 WHERE 雇员.职务='销售代表'
AND 订单明细.单价*数量*(1-折扣)<2000 AND 订单明细.订单ID = 订单.订单ID AND 订单.雇员ID = 雇员.雇员ID AND 产品.产品ID = 订单明细.产品ID AND 产品.供应商ID = 供应商.供应商ID