BUSA20001 2026S2 |SQL 到 Python 的十一周,90% 的分数考判断力
BUSA20001 这门课用一个学期把 SQL 查询、可视化评估和 Python 编程拼成一条完整的数据链路。两套技术栈各占半学期,中间夹着图表设计理论,但 90% 的分数落在判断力上:能评价一张图、能证明一段清洗代码没有漏掉什么。考核由 50% 期末考试、40% 小组数据项目和 10% 个人数据作业组成,三件事考的都是你拿到结果以后的判断力。
📐 一学期的五段路
整个学期分成五段,前三段归 SQL 和可视化,后两段归 Python:
| 阶段 | 周次 | 在解决什么 |
|---|---|---|
| 数据建模 | W1-3 | 概念框架起步,接着上手 SQL JOIN,再到 NULL 语义和实体关系图 |
| SQL 峰值 | W4-5 | 日期函数和条件聚合把 SQL 推到技术密度最高的一周,同时开始接触可视化原理 |
| 图表评估 | W6-7 | 报告和仪表板怎样分工,四套图表评估框架收官 |
| Python 编程 | W8-10 | 从算法和抽象概念开始,到 Pandas 数据操作,再到自定义函数 |
| 仪表板 | W11 | 把前面所有的图表和数据组成一块交互式管理面板 |
Week 1 全是概念,没碰任何工具。那 Week 2 就直接进入关系数据库和 SQL JOIN 了,同时布置三组 DataCamp 教程,起步速度其实挺快的。然后到 Week 7,可视化理论收完,Week 8 立刻切到 Python,要求你同时理解算法、抽象、函数定义和 Pandas 操作。这两次跳跃是整学期节奏最猛的地方。尤其是 Week 7 到 8 的切换,前一周你还在用评估框架给图表打分,后一周就要开始写 Python 代码了,技术栈直接换了一套。
🔍 从 SQL 到 Python,同一个陷阱换了六次皮
五个阶段之间有一条线贯穿始终。从 Week 3 到 Week 10,每一周都在用不同的工具和场景讲同一个道理:数据可以在你没注意的地方安静地给出错误答案。
先看 SQL 这边,Week 3 讲 NULL 的时候有一个折扣案例:1000 张订单里 200 张有折扣,合计让利 1600 元。你写 avg(discount) 得到 8 元,换成 avg(coalesce(discount, 0)) 就变成 1.6 元。两条查询都能跑通,返回的都是一个干干净净的数字,但它们回答的其实是两个完全不同的问题。一个算的是「每个用折扣的人平均省了多少」,另一个算的是「每张订单平摊下来让利多少」。分母不同是因为 NULL 不参与 avg 运算,写 avg(discount) 的时候 800 张没有折扣的订单直接被跳过了。搞混了就出事。你拿 8 元乘以 1000 单去估总让利,会把 1600 元算成 8000 元,差五倍。





