最近,妹子参与了一个团队项目,因为是团队合作,所以需要团队协同,毕竟有些项目不是一个人能搞定的。团队协同的好处简单来说,就是引入了更多的人,可以解决更复杂的问题。缺点就是每个人的工作效率是不一样的,团队的效率取决于效率最低的那位。
对于数据分析与挖掘人员个人来说,核心代码技能就是sql+python,前者用来提取/处理数据,后者用来探索/挖掘数据。所以,效率很大程度上取决于两种代码的熟练程度。
执行顺序
今天,妹子要将的就是sql。sql很简单,只要学过英文的基本都能入门,所以现在对很多业务岗位的同事也会要求会sql。另一方面,sql又很难,因为sql做的是表之间的关联,一个不小心,对大表做一些复杂操作,就会导致一个sql任务占据了大部分的资源 ,不仅自个的数据提取效率变低,还会影响到其他人的资源使用。但是,大家也不用担心,咱只要遵循sql的执行顺序,一般不会出什么大错。所以,今天妹子分享的就是sql的执行顺序。
首先,要明确的一点是语句顺序≠执行顺序,所以咱要独立开语句顺序和执行顺序,语句顺序是为了符合人类的书写顺序,而执行顺序则是为了符合机器的处理顺序。
话不多说,直接上执行顺序:
from
join
on
where
group by
avg,sum,count ...
having
select
distinct
order by
limit
要想代码跑的快,逻辑尽量往前摆。
注意
1.on 和 where 都有过滤的作用,却也不同。on 的执行顺序先于where,所以尽量把过滤条件写在on 里面,直接过滤掉一些数据;
2.遇到 left join ,right join 的时候小心用 on ,因为left join 会把左表被 on 过滤掉的数据再补回来;right join 会把右表被 on 过滤掉的 数据再补回来。