数据分析与挖掘(六):工具篇之SQL

最近,妹子参与了一个团队项目,因为是团队合作,所以需要团队协同,毕竟有些项目不是一个人能搞定的。团队协同的好处简单来说,就是引入了更多的人,可以解决更复杂的问题。缺点就是每个人的工作效率是不一样的,团队的效率取决于效率最低的那位。


对于数据分析与挖掘人员个人来说,核心代码技能就是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 过滤掉的 数据再补回来。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容