转行数据分析师如何开始学习SQL | 工科生三个月转行数据分析学习心得

本文包含以下内容:

  1. 什么是SQL及相关概念
  2. 数据分析师学习SQL的哪些部分
  3. 学习资源推荐
  4. 练习网站推荐

什么是SQL及相关概念

在了解SQL之前,先思考一个问题:当我们在浏览网页的时候,页面中的信息,或者说“数据”,来自于哪里?

答案就是页面中的数据来自于公司的数据库。

对于用户来说,其看到的是网页中显示的信息,比如某品牌某型号手机的价格是3999元,页面的感官非常具有设计感,不同的颜色不同的字体以及不同的手机图片,让人忍不住剁手的欲望。
在这里插入图片描述

而对于数据分析师而言,从公司的数据库中提取的数据的展现形式,是一张张简简单单的记录了所有信息的表格,类似于excel之中的表格。网页采用了这些数据,套用上一个设计好的模板,最终显示给用户。

在这里插入图片描述
数据库,Database,是保存着很多数据的一个容器,那么作为数据分析师,需要学习的是如何从数据库中提取出我们所需要的数据,为了做到这一点,我们使用一种语言,叫做Structured Query Language,即SQL,中文是结构化查询语言。

为了能够方便的使用SQL这种语言,市面上现在存在着很多软件,让你可以通过输入SQL访问数据库,这样的软件,叫做Database Management System,即DBMS,中文是数据库管理系统。

DBMS主要有两个部分组成,即客户机和服务器,用户可以通过客户机提出对数据进行动作的请求,该请求由客户机发送给服务器,服务器接着运行请求,满足用户的需求。

在这里插入图片描述

目前的DBMS可以分为两类,分别是关系型DBMS(Relational DBMS,RDBMS)和非关系型DBMS。

关系型DBMS将数据保存在不同的表中,表与表之间建立有紧密的联系,可以通过表的连接等方式获得请求的数据。

非关系型DBMS则是用键值对的形式存储数据,即每一个值对应一个编号(键),可以通过键找到对应的值。

在这里插入图片描述
对于关系型DBMS来说,SQL是一种通用的语言,也就是所有关系型DBMS中基础的SQL都是合法的。但对于非关系型DBMS而言,其语言不是互通的。

根据SQL的用途可以将SQL分为五个大类

Data Definition Language(DDL):数据定义语言,用来定义数据库对象。比如创建、修改、删除数据库、表、列等。注意,这里的操作仅针对库、表和列本身,而不针对其中存储的数据。

Data Manipulation Language(DML):数据操作语言,用来定义数据库数据。比如插入、修改、删除数据。

Data Control Language(DCL):数据控制语言,用来定义访问权限和安全级别。比如授予、收回某一用户对数据库的查询、修改、更新等权限。

Data Query Language(DQL):数据查询语言,用来查询数据。

Transaction Control Language(TCL):事务控制语言,用来对事务进行操作的语言。所谓事务,简单来说就是一组SQL语句,这样一组语句不可分割,组成一个完整的事务。

数据分析师学习SQL的哪些部分

学习不仅需要持续的努力,还是一种可以练习的技巧,有针对性的学习可以在最短的时间内达到自己定下的目标,这也是我一直在践行,以及一直在改进的学习方式。

那么对于想要转行数据分析岗位的人来说,如何能够做到快速精准地学习SQL呢?

首先,虽然非关系型DBMS可能在特定的情况下性能更好,关系型DBMS仍然在各个行业中被广泛使用,而基础的SQL可以直接套用到所有关系型DBMS之中,因此一开始学习关系型DBMS通用的SQL的性价比更高。

当然,如果希望进入一个明确的行业或是公司,建议还是先对该行业做一个比较全面的了解,至少需要知道他们是否使用SQL,或是否有一个常用的非关系型DBMS,并针对性的学习。

第二,数据分析师的主要工作是找到数据中潜藏的商业价值,也就是说并不需要对数据库中的数据进行修改,更不会涉及到增加和删除的操作,因此主要的学习方向是SQL的数据查询语言(DQL)。

另外,对于初学者而言,也可以了解一些数据定义语言(DDL)和数据操作语言(DML),这样可以在自己的电脑上建立一个简单的数据库,并随时练习DQL。

学习资源推荐

SQL相对来说是一门比较简单的语言,上手还是比较快的,网络上的视频教学资源还是很多的,这里就推荐一个我当时用来学习的SQL资源,从第243集开始看到第326集基本上就能对SQL的DQL有一个基本了解了。

https://www.bilibili.com/video/BV12b411K7Zu?from=search&seid=4481585889569838463

当然,真正在工作中,因为不同的公司使用不同的DBMS,而不同的DBMS除了通用的SQL语言外,还会有一些差异化的语言,比如我之前实习的公司用的是Impala,而其它部门则用的是Oracle,因此有时候还需要将一些函数进行转换,才能在Impala上运行。

所以如果有目标公司,最好是能够调查一下他们具体用的DBMS是什么,再进行更加针对性的学习。

练习网站推荐

这里就推荐一个我最开始学习时用的练习网站:SQLZoo

https://igs.sqlzoo.net/wiki/SELECT_basics

这个网站从最基本的select到join都有习题,全部做完就算入门了。

不过真正工作中的SQL语句比SQLZoo中的练习要复杂得多,因此不要把SQLZoo做完就结束了,因为面试中很可能会让你当场做几道SQL的题,这时熟练程度就极其重要,面试官一眼就能看得出来你是否真的熟悉SQL语句。

SQLZoo的答案我已经记录下来,当然题目可能会有不同的解法,尽量自己做对,实在做不出来再看答案,研究答案中的逻辑。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值