← 返回《SQL 数据分析入门课:看懂业务数据》
📑 查看全课大纲(第 3 / 5 节)

WHERE 过滤数据

WHERE 过滤数据

小象咖啡馆每天有成千上万笔订单流水,但数据侦探往往只想提取特定条件下的数据(例如:找出单笔消费大于 50 元的高额订单,或是寻找特定会员的足迹)。这时,我们可以使用 WHERE 子句进行条件过滤。

WHERE 子句紧跟在 FROM 之后。例如,只检索小象咖啡馆中订单金额 amount 大于 50 元的记录:

SELECT order_id, amount 
FROM orders 
WHERE amount > 50;

除了大于 >,常见的比较运算符还有等于 =, 小于 <, 以及不等于 <>(或 !=)。


📝 选择题

💡 侦探排雷:排除测试订单 小象咖啡馆要统计真实的营业额。我们需要在订单表 orders 中排除测试账户的订单(测试账户的等级 level_type'Test')。以下哪条 WHERE 过滤子句是最标准且正确的?

  • A. WHERE level_type = ‘Test’
  • B. WHERE level_type <> ‘Test’
  • C. WHERE level_type NOT= ‘Test’

答案:B(WHERE level_type <> ‘Test’)


在进行精准营销或库存清点时,单一条件往往不够。比如,我们想要找出“库存数量低于 10 包进价大于 100 元”的高档咖啡豆,就需要使用逻辑运算符来组合条件:

  • AND:所有条件必须同时满足。
  • OR:满足其中任意一个条件即可。

例如,找出库存紧张且价格高昂的商品:

SELECT bean_name FROM inventory 
WHERE stock_qty < 10 AND cost_price > 100;

✏️ 填空题

💡 侦探实战:组合过滤咖啡订单 小象咖啡馆想给“单笔消费大于 30 元使用微信支付 (WeChat)”的顾客发放回购优惠券。请补全下方 SQL 代码,筛选出符合条件的订单:

# 检索微信支付且金额大于 30 元的咖啡订单
SELECT order_id FROM orders 
WHERE amount > 30 ___ pay_method = 'WeChat';

答案:AND

🎁 免费学习资源

领取《小象 11GB VIP 课件资料包与大厂真题手册》

包含全套实战 Jupyter 源码、清洗后数据集、大厂高频面试真题与专属学员答疑交流群。

  • 完整 Python / 数据分析 Jupyter 实战源码
  • 大厂真实业务数据集与练习题
  • 微信扫码添加课程顾问,免费获取网盘下载链接
微信二维码:扫码添加课程顾问微信扫码添加顾问