欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 焦点 > 软件测试学习笔记丨SQL子查询实战练习

软件测试学习笔记丨SQL子查询实战练习

2025/6/28 9:50:49 来源:https://blog.csdn.net/ceshiren_com/article/details/141468225  浏览:    关键词:软件测试学习笔记丨SQL子查询实战练习

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/31953

一、项目介绍

  • A 公司是一家软件产品销售公司,在北京,上海,深圳,成都,杭州都设有销售部门,其中销售部门分布如下:
  • 北京有 3 个销售部门,分别为 bj001,bj002,bj003
  • 上海有三个销售部门为:sh001,sh002,sh003
  • 深圳有两个销售部门为:sz001,sz002
  • 成都有一个销售部门为:cd001
  • 杭州有一个销售部门为:hz001
  • department 表中记录了部门相关的信息
  • sales_list 表中记录了最近 2 周各部门的销售订单相关数据

二、项目需求

  • 需求 1:在 mysql 中创建数据库 hogwarts_db1 并导入相关数据
  • 需求 2:计算出各部门最近两周的的总销售业绩,并按业绩由高到低显示
  • 需求 3:查询出最近两周的销售额超过全公司平均销售额的部门

三、实战步骤

3.1 创建数据库并导入相关数据

  • 部门表字段
    • dept_id 部门 id
    • city 所在城市
    • manager 部门经理
  • 订单表
    • dept_id 部门 id
    • order_id 订单号
    • volume 客单价
    • sales_date 销售日期

3.2 计算销售业绩并排序

# 计算出各部门最近两周的总业绩,并按业绩由高到低排名
SELECTorder_list.dept_id,city,manager,SUM( volume ) total_volume
FROMorder_listINNER JOIN department ON order_list.dept_id = department.dept_id
GROUP BYorder_list.dept_id
ORDER BYSUM( volume ) DESC

3.3 查询出最近两周销售额超平均销售额的部门

WITH temp_dept AS (SELECTorder_list.dept_id,city,manager,SUM( volume ) total_volumeFROMorder_listINNER JOIN department ON order_list.dept_id = department.dept_idGROUP BYorder_list.dept_idORDER BYSUM( volume ) DESC) SELECT*
FROMtemp_dept
WHEREtotal_volume >(SELECTAVG( total_volume )
FROMtemp_dept)

3.4 知识扩展-视图

  • 定义:视图是一种虚拟的表,它并不会在你的存储空间复制一份数据,而是对原有数据的一种引用。可以将视图理解为一种存储起来的 sql 语句
  • 视图可以简化多表查询
  • 视图也可以用于控制用户权限
  • 使用关键词 view 来创建视图
  • 语法:CREATE VIEW [视图名称] AS SELECT…

3.5 使用视图简化练习

CREATE VIEW temp_dept AS (SELECTorder_list.dept_id,city,manager,SUM( volume ) total_volumeFROMorder_listINNER JOIN department ON order_list.dept_id = department.dept_idGROUP BYorder_list.dept_idORDER BYSUM( volume ) DESC);SELECT*
FROMtemp_dept
WHEREtotal_volume >(SELECTAVG( total_volume )
FROMtemp_dept);#查询出最近两周的冠军销售部门SELECT * FROM temp_dept WHERE total_volume=(SELECT max(total_volume) FROM temp_dept)

推荐学习

【霍格沃兹测试开发】7天软件测试快速入门带你从零基础/转行/小白/就业/测试用例设计实战

【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (上集)

【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (下集)

【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(上集)

【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(下集)

【霍格沃兹测试开发】精品课合集/ 自动化测试/ 性能测试/ 精准测试/ 测试左移/ 测试右移/ 人工智能测试

【霍格沃兹测试开发】腾讯/ 百度/ 阿里/ 字节测试专家技术沙龙分享合集/ 精准化测试/ 流量回放/Diff

【霍格沃兹测试开发】Pytest 用例结构/ 编写规范 / 免费分享

【霍格沃兹测试开发】JMeter 实时性能监控平台/ 数据分析展示系统Grafana/Docker 安装

【霍格沃兹测试开发】接口自动化测试的场景有哪些?为什么要做接口自动化测试?如何一键生成测试报告?

【霍格沃兹测试开发】面试技巧指导/ 测试开发能力评级/1V1 模拟面试实战/ 冲刺年薪百万!

【霍格沃兹测试开发】腾讯软件测试能力评级标准/ 要评级表格的联系我

【霍格沃兹测试开发】Pytest 与Allure2 一键生成测试报告/ 测试用例断言/ 数据驱动/ 参数化

【霍格沃兹测试开发】App 功能测试实战快速入门/adb 常用命令/adb 压力测试

【霍格沃兹测试开发】阿里/ 百度/ 腾讯/ 滴滴/ 字节/ 一线大厂面试真题讲解,卷完拿高薪Offer !

【霍格沃兹测试开发】App自动化测试零基础快速入门/Appium/自动化用例录制/参数配置

【霍格沃兹测试开发】如何用Postman 做接口测试,从入门到实战/ 接口抓包(最新最全教程)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词