第4章 · 高级查询技巧
章节摘要:基础查询能取数据,高级查询能"算"和"连"。本章讲聚合分组、多表连接、子查询、集合操作,掌握后能写绝大多数分析查询。
核心问题
阅读完本章,你应当能够:
- 用聚合函数和 GROUP BY 分组统计
- 用四种 JOIN 关联多表
- 写各类子查询
- 用 UNION/INTERSECT/EXCEPT 做集合操作
核心概念速览
聚合算统计,JOIN 连表,子查询嵌套,集合操作合并——高级查询四件套。
子章节导航
4.1 聚合函数与 GROUP BY 分组
COUNT/SUM/AVG/MIN/MAX + GROUP BY + HAVING。
4.2 多表连接 JOIN
INNER/LEFT/RIGHT/FULL JOIN 的区别和用法。
4.3 子查询
标量/列/表子查询,相关子查询。
4.4 集合操作 UNION/INTERSECT/EXCEPT
合并多个查询结果。
子章节之间的逻辑关系
4.1 聚合(算)
↓ 配合
4.2 JOIN(连)
↓ 嵌套
4.3 子查询
↓ 合并
4.4 集合操作
聚合算统计、JOIN 连表、子查询嵌套、集合操作合并,四者组合能写复杂分析。
前置知识与后续延伸
- 前置:第 3 章基础 SELECT
- 为后续铺垫:本章是数据分析查询的核心,第 7 章视图/索引会用到这些查询
本章学习建议
本章是把查询从"入门"推向"实用"的关键,也是面试和日常工作的高频区。建议放慢节奏,每个主题配合手写练习。
- 4.1 聚合函数与 GROUP BY:重点理解"分组"的语义——按某列分组后,每组输出一行。建议用客户表按城市分组统计客户数,再试试多列分组,感受粒度变化。
- 4.2 多表连接 JOIN:重点区分 INNER/LEFT/RIGHT/FULL 四者的"保留哪边"。建议拿两个小表(客户、订单)手算 INNER 和 LEFT 的结果集,理解"没匹配上填 NULL"。
- 4.3 子查询:重点理解标量、列、表、相关四类,以及 EXISTS 的用法。子查询和 JOIN 经常可以互换,建议同一需求各写一遍,体会取舍。
- 4.4 集合操作:重点记住 UNION 与 UNION ALL 的区别(去重 vs 不去重),以及列数必须一致。
本章概念环环相扣:聚合常和 JOIN 一起用(如按城市统计订单金额),子查询常出现在 WHERE 里做条件。建议做几个"组合练习",比如"查出每个城市下单超过 3 次的客户"。学完本章,你应该能独立完成多表统计类查询,这是数据分析最核心的能力。
作者与出处
原作者:灏天文库
来源:平台策划编纂
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流