首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

数据分析师要掌握SQL到什么程度?

很多人入门学习数据分析,往往第一时间就是去学习SQL,那么问题就来了:要成为数据分析师需要掌握SQL到什么程度呢?

从我自己的认知里,数据分析中只有两部分的工作是 SQL 无法完成的:数据可视化,即数据的图形化展示;数据挖掘,即数据的深度学习、机器学习等算法。

那么在实际工作中的数据分析里,哪些具体的工作会用到 SQL 呢?

(1)为固定报表提供数据。在大部分的固定报表中,SQL 一定是为报表提供数据的最好方式。

(2)数据跟踪、报表调试、数据验证。当用户反映报表数据有问题时,就需要从报表的 SQL 出发,一步步调试,跟踪发现数据问题出现在哪个表、哪个过滤条件、哪个权限。还有,在报表上线前的测试阶段,用自己写好 SQL 返回的数据和报表的 SQL 返回的数据进行对比验证。

(3)一些公司不用专业图形化的 ETL 开发工具,而偏向写存储过程 SQL 来执行数据的抽取、转换和加载,因此会写存储过程也是非常重要的。

其实不同数据分析岗位对于SQL掌握程度的要求和标准是不同的。

比较常见的业务分析师,对SQL的掌握有一定要求,不过也不必要十分精通,只要能从数据仓库里取数、学会普通的增删减改就行了,取数不是业务分析师的主要工作,而且很多人用现成的BI工具,或者直接Python大法,虽然也需要SQL从数据库中取数,但是不用考虑复杂逻辑;

如果是做数据仓库的分析师,或者说更类似于系统分析师,那就必须要精通SQL了,作为吃饭的饭碗,当然不能差了,起码来说T-SQL、约束、触发器、复杂综合查询、客户端、联机分析处理等都要掌握,更好地提高检索速度对于业务来说比较重要;

当然还有一些数据分析岗位,对于SQL不是必须的,但是学会了是加分项。

一般数据分析人员,其中会用SQL进行增删改查是必须的,然后业务不同你可能需要掌握的内容有:

1. 除了查,其他建议开启事务,绝对是个好习惯

2. 会建立基础视图用来清理数据,在存储过程中使用视图,整个耦合性会更好一点

3. 会建立临时表来进行多表之间关联,做一些复杂的查询

4. row_number ()函数使用,熟练使用此函数,对于新客/老客/频次等分析很有帮助

5. 当数据量大时,少用子查询,多用exists 操作.

6. 关联时多想想会不会出现笛卡尔集,造成数据异常

7. 时间格式转换要熟练

8. lag 函数

9.  concat 函数

10.  stuff 函数 ,使得本来需要多行展示的列合并在同一列展示,不过查询速度比较慢12. sum()over 函数

13. max,min等函数对于一些字符串的处理特别有用

14. select case when .....end 有时候可以替代where 条件避免关联

以后也可能会有新的更加方便的工具出来替代SQL,但是能够在SQL应用中掌握业务逻辑,熟悉业务指标,精通数据清理,对于数据分析方法游刃有余,那么不管走遍哪里都会不怕了。

了解IT相关内容,各平台同名“职坐标在线”

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201102A07HJ100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券