sql是谁?

想要成为数据分析师,得先学会“搬砖”,虽然大家在面试里常觉得取数就是个纯体力活,其实这是让业务真正运转起来的第一步。 你想想,日报周报各种报表,要是光取出数据就要占掉50%的时间,后面的建模画像和策略自然就做不精细了。所以说SQL就是那个能撬动后续所有环节的杠杆。 先说说SQL是谁吧?它是Structured Query Language的简称,早在1970年代就由IBM搞出来了,后来被ANSI写成了国际标准,现在的MySQL、Oracle甚至SQL Server,它们的核心语法都是高度一致的。学会一套就能在不同数据库里无缝切换。 常用的统计函数有MAX、MIN、COUNT、SUM还有AVG,这些算总量、峰值和平均值的函数一定要熟。ROUND、FLOOR和CEIL能帮你把数字格式化得更友好。日期函数各家可能略有差异,最好还是查一下官方文档。 关键词方面,DISTINCT用来去重,免得重复的数据拖慢分析速度。TOP、LIMIT或者ROWNUM可以用来抽样只拿前几条或者后几条数据。ORDER BY可以让排序先升后降,数据的变化趋势一下子就看清楚了。 GROUP BY和HAVING配合起来就是分组加过滤,把散乱的点连成一个有逻辑的故事。 JOIN和UNION是合并表格的魔法。INNER JOIN找出两张表的交集;LEFT、RIGHT和FULL OUTER JOIN就是给数据补缺;UNION和UNION ALL是合并行的并集。记住方向不同作用却强大:JOIN是横向拉数据,UNION是纵向拼数据。 当数据量大到TB、PB级别的时候,Hive就会接棒。它把SQL翻译成MapReduce任务,既保持了易读性又扩展了计算能力。区别主要在三点:Hive不支持UPDATE和DELETE操作;表的创建方式不太一样;执行计划得靠EXPLAIN来调优。 对于想速成的朋友我得泼盆冷水:神仙秘籍听听就好,真正的功力得靠代码一行行堆起来。给你推荐个路线图:先啃《SQL实用大全》这本黄页书,再刷《SQL性能调优》这本红皮书,最后把它们用在真实业务里做实验田。 把每一行代码都跑通,把每一次报错都解决掉,时间会给你答案的。