当业务数据沉淀进数据库,如何快速取出来分析?SQL 是与数据对话的语言。本课程帮助分析人员掌握 SELECT 查询、聚合、分组与多表关联,能够自主从 ERP/MES/WMS 等系统数据库中提取并分析业务数据,实现数据驱动洞察。
理解库、表、字段、记录的关系,知道业务数据存在哪
用 SELECT/FROM/WHERE 提取所需的业务数据子集
用 GROUP BY/聚合函数做汇总统计与多维分析
用 JOIN 把分散在多个表的数据拼成完整视图
报表系统只能看固定视图,但真实的业务问题千变万化——「A车间上月合格品有多少?」「哪些供应商交期延误最多?」这类临时取数需求,如果每次都找IT,既慢又被动。掌握 SQL,分析人员就能自助取数,把时间花在分析而非等待上。
| 子句 | 作用 | 典型写法 |
|---|---|---|
| SELECT | 指定要查哪些列 | SELECT 工单号, 数量 |
| FROM | 指定从哪张表查 | FROM mes_workorder |
| WHERE | 行级筛选条件 | WHERE 状态='完成' |
| GROUP BY | 按列分组汇总 | GROUP BY 车间 |
| ORDER BY | 结果排序 | ORDER BY 数量 DESC |
| JOIN | 多表关联 | JOIN erp_item ON 物料编码 |
SELECT 车间, SUM(数量) AS 总产量 FROM mes_workorder WHERE 状态 = '完成' AND 完工日期 >= '2026-08-01' AND 完工日期 < '2026-09-01' GROUP BY 车间 ORDER BY 总产量 DESC;
SELECT s.供应商名称, COUNT(*) AS 延误次数 FROM erp_po p JOIN erp_supplier s ON p.供应商 = s.编码 WHERE p.实际到货 > p.应交货 GROUP BY s.供应商名称 ORDER BY 延误次数 DESC LIMIT 5;
SELECT i.物料名称,
SUM(q.不良数)*1.0/SUM(q.生产数) AS 不良率
FROM mes_quality q
JOIN erp_item i ON q.物料编码 = i.编码
GROUP BY i.物料名称
HAVING 不良率 > 0.02;
先 LIMIT 取少量数据验证逻辑,再放开全量查询
确认「完成」「不良」等业务状态的定义与字段
给表/列起别名,长查询更易读、不易错
大表查询加时间范围,避免全表扫描拖垮库
抽样核对总量与明细,确保取数准确无误
把常用查询保存为视图/脚本,沉淀可复用资产