会SQL语句,可以做什么工作? 您所在的位置:网站首页 数据库declare是什么意思 会SQL语句,可以做什么工作?

会SQL语句,可以做什么工作?

2023-04-19 00:30| 来源: 网络整理| 查看: 265

我是一名数据工程师,曾经做过数据分析师,日常工作中以SQL为主。在此分享下我理解的会SQL可以有哪些工作可以选择,如果你SQL学的不错,想专门从事以SQL为主的工作的话,不妨考虑以下4种职位,不同职位对SQL的要求程度不一样。

产品经理:

产品经理这个职位是互联网行业最流行的职位之一了,对sql要求不高,但是薪资不低。SQL对于产品经理来说几乎是必备的技能了,互联网行业里,很难找到不会SQL的产品经理。掌握SQL对于产品经理来说,就是掌握一个遇事不求人的技能。你想,当你要写一个需求分析,需要数据来佐证你的结论的时候,你去找数据分析师提数,数据分析师已经下班了或者没空,这个时候,是不是自己取数方便多了。当然,并不是你会SQL就能从事产品经理,SQL是一个必要条件。

搜狐产品经理JD

产品经理对SQL的要求可以说你要你会select、from、join、where、groupby、having等就可以完成常规的数据提取就可以了,如果你会一些分析函数row_number(),lead(),lag()等就算是产品经理中SQL比较厉害的那种了。

数据分析师

我的入门职位,当时毕业的时候,连SQL都只会select * from student 的程度,找到了一份会用SQL、excel的数据分析师工作,这可以说是互联网行业门槛相对较低的职位了。你只需要会SQL提取数据就可以了,然后结合Excel做做数据清洗,做成报表发给老板,有的老板需要汇报的,就用PPT做数据展示。现在很多互联网公司直接用数据可视化工具,如Tableau、powerbi这一类。你掌握了这些,就可以胜任市场上80%的数据分析职位需求。而且分析师的起薪也还不错,具体可以参考下面这篇回答:

那数据分析师对SQL的掌握需要达到什么样的程度呢?简单分为以下三个方面:

常规查询,一般不会要求数据分析师会增删改,你也没有权限做增删改。你只需要会select、from、join、where、groupby、having等就可以完成常规的数据提取了分析函数,熟练掌握分析函数,是你和刚入门数据分析师拉开差距的最有力的法宝之一了,这里列举几个常用的分析函数:rank(),row_number(),lead(),lag(),first_value()。熟练运用这些函数,会让你在复杂的数据分析需求中游刃有余数据调优,同样的分析需求,我写的SQL就是比别人跑的快,这是什么原因呢,SQL优化的技巧就得安排上了,常见的查询优化方向有:走索引、省去不必要查询的行和列,选择列时,用具体的列名,选择行时,如果不需要全量数据查看的话,结合limit使用,不要在where条件等号左边使用函数等等。

如果你对数据分析师这个职位感兴趣,想进一步了解数据分析师的工作内容,可以看下知乎官方推出的数据分析实战训练营,课程是以直播讲解+学习社群的形式,在短时间内给你讲明白数据分析的工具使用、方法论和数据思维。一毛钱买不了吃亏,买不了上当。却可以买到一个全新的职业机会,多划算啊!!!

数据工程师

这个职位也是以SQL为主,更侧重于SQL的编程应用,再结合shell脚本、python脚本进行数据的抽取、转换和加载操作。这个职位相对对SQL的要求会更高一些,在对数据分析师SQL要求的基础上,还要会数据的增删改(这个不难),用SQL编写存储过程,写条件判断,循环。其实核心还是在于对数据进行处理。此外,还要会用shell或者python写一些自动化的脚本,以实现特定的功能。

数据工程师的技能金字塔

工作中用的是Oracle 的PL SQL,接触了PL SQL,才知道之前自己会的SQL有多么片面(最多只接触到SQL查询和优化)。PL SQL不仅可以编写存储过程,还能用游标,可以进行条件判断、循环以及异常处理,如果想对SQL有全面深入的了解,强烈推荐学习PL SQL,因为它:

有目前最为丰富的功能,学会了PL SQL 其他类SQL就不用愁了,别的SQL有的他有,别的SQL没有的他还有。非常详细的官方学习资料,Oracle官方文档非常详细,遇到报错拿到代码一搜,都有详细解释。比如我之前不知道SQL最开始的一系列的set命令什么意思,搜索引擎一搜就是官方文档。有在线练习SQL的网站,不仅有代码示例,马上就能在网站上运行,不用搭建什么环境,直接run代码就可以,高效便捷。

以下是一段官方给出的PL SQL的例子:Introduction to SQL以下是一段官方给出的PL SQL的例子:

DECLARE -- Declare variables and other program elements BEGIN -- Procedural code to perform actions -- Control structures like loops and conditionals can be used here EXCEPTION -- Exception handling routines END;数据仓库工程师

之前任数据分析师的时候,经常接触的上游就是数据仓库工程师的了,他们也是以SQL为主要开发工具的,根据数据产品经理对表的需求设计,写SQL实现从已知的业务表中拿到数据,生成一张目标表Target,并将这个过程固定下来,比如这个SQL什么时候跑,在哪些表之前跑(比如A表依赖于Target,那这张表就需要在A表跑之前跑),在哪些表之后跑(比如Target表是要from B表,C表。那么就要等B、C两张表更新了,再跑Target),这就形成了一个WorkFlow。数据从业务中抽取出来,一层一层的加工,最后形成适用于业务分析的目标表。

数据仓库的上下游

这个对SQL的要求和数据工程师差不太多,只是侧重点不一样,数仓工程师要具备数据库设计和优化的能力,包括表结构的设计、查询优化等,我对这一块研究不多,感兴趣的朋友可以参考其他知友的相关回答。

当然,除了上面这几种,还可以做数据库管理员(这个职位不多,也没接触过,不敢乱说)、数据科学家等职位。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有