三板斧是古代长兵器的一种,又名“马战斧”。相传为程咬金所用。斧阔五寸,柄长七尺。用法有劈、砍、剁、搂、截、撩、云、片、推、支等
程咬金绝招,三招名为: 劈脑袋、鬼剔牙、掏耳朵
传说是程咬金在睡觉的时候一个神仙教他的,当他学会第三板斧,要学第4斧的时候被尤俊达给叫醒了 ,所以他只会3斧了
习武之人讲究刀、枪、剑、戟、斧、钺、钩、叉~十八般兵器样样精通,如果说数据分析师也有十八般兵器的话,Python属于剑,飘逸潇洒、一剑封喉,SQL属于斧,稳健厚实、一斧下去,地动山摇。
三板斧虽然简单招式简单,但是正所谓:不怕千招会,就怕一招鲜。今天就来讲讲数据分析师不可不学的三板斧。
先上一张本文涉及的知识点脑图总结:
下面三张是本文用的的数据源表头:
一、板斧一:基础入门
(一)select:如何从表中选择自己想要的数据
- 1.选择单独一列数据
--
- 2.选择两列数据
--
- 3.选择表中所有列数据
--
(二) where:“去伪存真”选择符合你要求的数据
- 1.">","<","="匹配式筛选数据
--
- 2.用between选择区间段数据
--
(三)order by:对选择集排序
- 1.order by默认为升序
--
- 2.降序用desc
--
(四)逻辑操作符(and/or/in/not):高级筛选过滤
- 1.用and匹配多个条件
--
- 2.用or匹配符合多个条件中的任意一个条件
--
- 3.用in加()匹配在括号里的任意值(与or操作有点类似)
--
- 4.用not对后面的条件进行否定(与<>操作有点类似)
--
(五)distinct:去除重复项,保留唯一值
- 1.用distinct保留唯一值
--
(六)join on:不同表之间的关联
INNER JOIN:求两个表的交集
LEFT JOIN:两个表的交集外加左表剩下的数据
RIGHT JOIN:两个表的交集外加右表剩下的数据
下图阴影部分为不同联结返回的数据集:
--
(七)union :多个选择语句的结果合并
- 1.union all用于多个表查询结果合并,保留其中的重复行
--
- 2.union用于多个表查询结果合并,不保留其中的重复行
--
(八)通配符:模糊查询利器
- 1.百分号(%)表示任意字符出现任意次数
--
- 2、下划线(_)表示任意字符出现一次
--
(九)limit关键字时有两个参数,如:limit arg1,arg2,表示从arg1行取数,取arg2条数据
--
二、板斧二:字句顺序
理解SQL语句的执行顺序对深入理解SQL语句和优化SQL非常重要,那么SQL语句的执行顺序是怎样的呢,下图对比了SQL的语法顺序和执行顺序。
FROM:明确数据的来源
WHERE:对源数据进行筛选
GROUP BY:对数据进行汇总分组
HAVING:对分组后的数据进行过滤
SELECT [distinct]:选择数据列[剔重]
UNION:对多个SELECT语句选择的数据进行合并
ORDER BY:对选择出来数据集进行排序
LIMIT:对最终呈现出来的数据进行行数限制
三、板斧三:函数进阶
(一)分组汇总
--
(二)字符串操作
- 1.left用法
--
- 2.concat用法
--
(三)、日期时间函数
- 1.extract用法
--
(四)、条件函数
- 使用CASE WHEN对数据按条件分类
--
(五)、数学函数
- 1.mod用法
--
(六)、窗口函数
- 排名函数实战
--
- 头尾函数实战
--
- 前后函数实战
--
四、综合练习
(一)问2020-01-02至2020-02-02期间,购买次数大于等于2次的客户全部信息?
此题包含时间段筛选、分组汇总和分组后筛选知识点
--
(二)问2月份男性客户中,购买金额总和排行前五的客户全部信息?
此题题目虽然简短,但是其中包含知识点很密集:分组汇总、联结、分组筛选、排序和限制返回知识点,考察的是知识点的综合运用。
--
以上就是本期的分享,有疑问的可以私信我,欢迎大家和我交流探讨。
最后,喜欢就点个赞,您的点赞是创作者最大的动力~
以上均为本人原创整理,转载请注明出处!
超级菜鸟怎么学习数据分析?www.zhihu.com