如何自学SQL?

SQL应该算是投资回报最高的语言,不是说它比Java、C++更NB,而是SQL容易入门也容易找到工作,一般初级的数据分析或者ETL都把SQL作为面试的核心技能。另外,SQL也是众多岗位的基本功,开发需要、数据需要、测试需要、商业分析需要...总之,SQL是互联网领域的瑞士军刀。

学习sql本身可能是枯燥的,不像游戏那样每过一个关卡就获得成就感,sql学习的前期尤其是语法阶段,需要记忆的东西比较多,比如说join、groupby、order by等函数。所以伙伴们学习的时候可以适当地给自己创造闯关打怪的场景。

除了基本的语法之外,更多的是反复练习和回顾,把复杂的数据处理场景用sql语句表达出来,这就需要一步步去训练自己。

上面简单讲了为什么学,下面从怎么学、去哪学两个层面讲一讲SQL学习的小技巧。

1、how-怎么学SQL

在正式学之前,得先了解SQL的前世今生。

SQL,全称Structured Query Language,即结构化查询语句,它的主要作用是设计,创建和管理关系数据库,关系数据库的表是类似excel的二维表,由行列组成,每列代表一个字段。换句话说,SQL是用于与关系数据库进行通信的编程语言。

关系数据库有很多,比如MySQlOracle等,每个数据库都使用自己的SQL方言,但是它们都共享相同的基本语法。

SQL的职责是管理二维表,通过语句来替代excel中那些图形化的命令。

比如同样是筛选数据,在excel中需要在列名上添加筛选,然后选择想要的字段,这是图形化的命令;SQL则是通过语句来实现筛选;

select * from table where ....

SQL语法可以分为三类:

  • 用于定义数据结构的语句称为SQL方案语句,比如 CREATE TABLE student...
  • 用于创建、操作、检索数据库中数据的语句称为SQL数据语句,比如 INSERTE INTO student...
  • 用于开始、结束、或回滚事务的语句称为SQL事务语句

简单理解,方案语句是建造数据的壳,例子中创建了表student;数据语句是处理数据,例子中向表student插入了数据,事务语句就是解决多个SQL执行时的纠纷问题。

如果你是数据库管理员,那么你需要同时掌握模式语句、数据语句和事务语句,但如果你只是使用数据的分析师、程序员,则只需要掌握数据语句就行了。

SQL不能像编程语言一样,使用变量、条件逻辑、循环结构等对过程进行定义,以获得想要的结果。SQL直来直去,只要定义必要的输入输出,没有对过程的控制。

了解SQL的大致情况后,我们再来看看如何学?

SQL是所有数据库查询的语言,sql由于本身结构化的特点,非常容易入手。针对不同的数据库,如hivesqlmysqlsqlserver、oracle等,sql语法会有所不同,但是总体上大同小异,只是细微处的差别。

首先你需要了解SQL语法的基础,包括SELECT,FROM,WHERE,GROUP BY,HAVING,ORDER BY、LIMIT等。

初学者对抽象概念不太懂,可以对比excel学习SQL基本语法。

核心:select * from tableName

这句话是从某表中选择全部字段,相当于excel中的选择sheet

where相当于excel的筛选,group by相当于excel的透视表,order相当于excel的升序降序。

接着你得学习一些常用的函数:

最后掌握高级用法:

2、where-去哪学习SQL?

目前市场上SQL相关的资料很多,比较火的像《SQL必知必会》、《SQL学习指南》等。

网上也有一些不错的开源教程,比如菜鸟教程、w3school等。

SQL 简介 | 菜鸟教程

SQL 教程

建议大家把一本书或一套教程啃完就可以了,一个月就能搞定。

有了教材,还远远不够,SQL需要大量练习。

脱离练习学习SQL简直是要命,可能你学了大半个月,拿到一个查询需求还是无从下手,所以说实践对于SQL来说非常重要。

这里有两个方式可以练习SQL,一是自己搭建数据库,然后找题目练习,二是在SQL网站上练习

自己搭建数据库也不难,初学者可以安装mysql,然后去github上下载习题。

SQL练习的网站也不少,像SQLZOO、XUESQL、SQLBolt、leecode、牛客网等。

SQL Tutorial/zh - SQLZOO

自学SQL网(教程 视频 练习全套)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@Python大数据分析

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值