想成为一名数据分析师,SQL技能需要掌握到什么程度?

请问做一名数据分析人员,在sql方面需要掌握到什么程度呢?会增删改查就可以了吗?还是说关于开发的内容也要会?

想要成为一名数据分析师,SQL需要掌握到什么程度?对于这个问题,有的初学者可能会被一些资料误导,以为 SQL 要掌握到数据库管理员的水平,而去学习 SQL 所有的知识点,最后在学习的过程中发现很难学,学不会,走了不少弯路,有的还因此放弃了。

其实对于数据分析师,不同的职位对 SQL 的要求是完全不一样的。

例如数据库管理员,该岗位重点在数据库的日常维护和管理,对 SQL 要求比较高;

数据开发工程师,需要编写 SQL 来完成开发工作,需要会在编程语句中使用 SQL,也就是数仓工程师,这对SQL水平要求是最高的。

数据分析师偏重于用 SQL 查询数据。

SQL是一种操纵数据库的语言,主要包括增删改查。

作为刚入门的数据分析师来说,我觉得SQL 掌握简单查询数据就可以了,包括select、where、group by、having、order by、join基本,会做日常的基本取数需求。

小爱是一名数据分析师,在一家互联网公司的大数据部门实习,岗位为数据分析。

日常工作中打交道最多的就是SQL和EXCEL,在实习之前,小爱对于SQL技能只会简单的查询语句,历经3个月的提数,现在对SQL的使用技能也有了明显的提高。

1.熟悉基本的查询语句及函数,包括select、where、group by、having、order by、join基本,会做日常的基本取数需求。

2.掌握并熟练使用高阶语法,比如集合、分组聚合、子查询、条件逻辑、字符串函数

 

SELECT columns_name --查找一列或多列,多列之间用逗号隔开
FROM Table --目标表
WHERE condition --过滤条件
GROUP BY columns_name --按列值分组,可以1个或多个列
HAVING condition --分组后的筛选条件
ORDER BY columns_name --按列排序
LIMIT start, row_count --对结果进行限定,start从哪行开始,row_count结果行数

需要注意的是,平时在学习过程中一定要注重实践,脱离练习学习SQL,可能你学了大半个月,当真正遇到查询需求还是会觉得无从下手,所以边练习边实践很重要。

平时练习SQL,可以自己搭建数据库,然后找题目练习,如果不想搭建数据库,也可以通过一些在线平台学习。

下面我们来实践下。

创建一张学生表tb_student,包括学生id,姓名,年龄,班级,分数字段

 

SELECT columns_name --查找一列或多列,多列之间用逗号隔开
FROM Table --目标表
WHERE condition --过滤条件
GROUP BY columns_name --按列值分组,可以1个或多个列
HAVING condition --分组后的筛选条件
ORDER BY columns_name --按列排序
LIMIT start, row_count --对结果进行限定,start从哪行开始,row_count结果行数

 

insert into tb_student(name,age,class,grade)
values('张工',18,1,90);
insert into tb_student(name,age,class,grade)
values('小爱',18,1,80);

insert into tb_student(name,age,class,grade)
values('小洪',17,1,88);

insert into tb_student(name,age,class,grade)
values('小明',15,1,60);

insert into tb_student(name,age,class,grade)
values('小李',16,1,70);

insert into tb_student(name,age,class,grade)
values('小刘',17,1,76);

insert into tb_student(name,age,class,grade)
values('小红',17,2,76);

-- 查找id、姓名、成绩信息

 

select id,name,grade from tb_student

-- 查找成绩大于等于80分的学生id、姓名、成绩

 

select id,name,grade from tb_student where grade>=80

-- Having语句筛选班级平均分大于70分的班级

 

SELECT count(id),class, avg(grade), max(grade), min(grade)
FROM tb_student
GROUP BY class
HAVING avg(grade) > 70

一般情况下,将 Mysql多表连接 分为如下几种:

内连接:INNER JOIN – 可简写 JOIN;

左外连接:LEFT OUTER JOIN – 可简写 LEFT JOIN;

右外连接:RIGHT OUTER JOIN – 可简写 RIGHT JOIN;

全连接:UNION;

交叉连接:CROSS JOIN – 也称为笛卡儿乘积连接;

熟练掌握了SQL这些基础知识,应该可以成为一名数据分析师了,其他的边工作边学习。

要是对shell脚本了解那就更好了。

以上只是个人看法,由于笔者知识及水平有限,文中错漏之处在所难免,不知道对此你是怎么看待的,欢迎交流。

-END-

往期推荐

mysql自增长id用完了,怎么办?

生成服务器服务变慢了,如何排查思路?
 

微信公众号:爱开发

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值