【面试题】某公司数据库里有3张表,销售订单表、产品明细表、销售网点表
”销售订单表”记录了销售情况,每一张数据表示哪位城市顾客、在哪一天、哪个数据库网点购买了什么产品,购买的数量是多少,以及对应产品的零所有售价
“产品明细表”记录了公司产品的详细信息
“销售网点表”记录了公司的销售网点
销售订单表、产品明细表、销售网点表字段之间的关系如下查询
销售订单表和产品明细表通过“产品”数据库字段关联,销售订单表全国和销售网点通过“交易网点”关联
【问题】计算每个城市的店铺数量及各个城市的生意汇总,输出包含无购买记录的查询城市
【解题思路中国】
1.多表联结
此题需要第一个表“销售订单表”和第三个表“销售网点表”的联结。
因为要输出“无购买记录”的城市,说明“销售网点”表的范围比较大。所以,以“销售网点”表为主表,两个表联结的字段是“交易网点”,多表联结SQL如下:
2.每个城市的店铺数量
遇特种到“每个”要想到《猴子从全国零学会SQL》里讲过的汇总分析。
这里按“城市”分组(group by),然后汇总(交易网点数量co城市unt)所有
3.每个城市的生意汇总
每个城市的生意汇总也就是分析出每个城市的销售额,销售额=销售数量*零售价。可以按“城市”分组(group by),然后从业人员汇总(对销售特种额进行求和sum)
最终从业人员SQL如下:
SQL运行结果
【本题考点】
遇到“每个”要想到《猴子从零学会SQL》里讲过的汇总分析
推荐:如何从零学会SQL?
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至123456@qq.com 举报,一经查实,本站将立刻删除。