对从事数据工作的小伙伴来说,SQL几乎是必备技能,写得一手好SQL说明你是一个合格的‘取数民工’。

SQL如何从菜鸟到高手呢,一般分三步走:

  1. 熟悉基本的增删改查语句及函数,包括select、where、group by、having、order by、delete、insert、join、update等,可以做日常的取数或简单的分析(该水平已经超过90%非IT同事);

  2. 掌握并熟练使用高阶语法,比如集合、分组聚合、子查询、条件逻辑、字符串函数、算术函数、日期时间函数,并且知道MySQL、Oracle、SQL Server等数据库的语法差异;

  3. 熟悉如何优化SQL语句,以期达到最高查询效率,了解事务、锁、索引、约束、视图、元数据等概念,并且学会使用hive sql、spark sql、pymysql等工具;

数据分析人员最好是能达到第三个层次,这样基本可以算一个90分的sqler。

如果把excel类比sql,你得玩转透视表、各种函数公式,甚至VBA,才能最大效率地赋能工作。

学习SQL是有法可循的,可以从以下五个问题开始:

1.  了解什么是SQL?

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

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

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

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

select * from table where ....

SQL语法可以分为三类:

  • 用于定义数据结构的语句称为「SQL方案语句」,比如 CREATE TABLE student...

  • 用于创建、操作、检索数据库中数据的语句称为「SQL数据语句」,比如 INSERTE INTO student...

  • 用于开始、结束、或回滚事务的语句称为「SQL事务语句」

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

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

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

2. 怎么学习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的升序降序。

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

最后掌握高级用法:

3. 有哪些好的书籍和教程?

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

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

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

4. 有哪些SQL实战网站?

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

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

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

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

SQL Tutorial/zh - SQLZOO

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

5 . 练习练习练习

练习是学习SQL的不二法门,只有练的足够多,你才能精通SQL!

往期精彩回顾适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载机器学习的数学基础专辑
获取本站知识星球优惠券,复制链接直接打开:
https://t.zsxq.com/qFiUFMV
本站qq群704220115。加入微信群请扫码:

【数据分析】关于学习SQL的五个常见问题?相关推荐

  1. sql 多表多行模糊查询_从零开始学习SQL(五)多表查询

    经过之前的学习,现在我们已经对查询有了一定的了解,但是我们目前的所有查询都只能找到在一张表中的数据,但如果我们需要寻找分布在多张表格中的数据时,这种之前的查询就做不到了,这时就需要引入一种新的查询方法 ...

  2. 《谁说菜鸟不会数据分析》学习笔记 第五章数据分析

    第五章 数据分析 5.1 数据分析方法 现状分析 5.1.1 对比分析法 5.1.2 分组分析法 5.1.3 结构分析法 5.1.4 分布分析法 5.1.5 交叉分析法 5.1.6 RFM分析法 5. ...

  3. oracle sql练习_数据分析之学习SQL

    一.知识点 数据库概念:存放数据的仓库 SQL:结构化查询语句 关系型数据库:有多张表+各表之间的关系 通过联结(join)联系个张表 主键:唯一的表示一条记录,不能为空值,不能重复,一个表只能有一个 ...

  4. asp sql查询过滤空格_对比Excel,轻松学习SQL数据分析数据笔记02

    本文主要梳理<对比Excel,轻松学习SQL数据分析>对于自己有用的sql知识.这本书中的所有代码和函数均适用于my sql 8.0版本. SQL的基本功能数据定义(DDL)--对数据库, ...

  5. python数据分析入门学习笔记

    python数据分析入门学习笔记儿 学习利用python进行数据分析的笔记儿&下星期二内部交流会要讲的内容,一并分享给大家.博主粗心大意,有什么不对的地方欢迎指正~还有许多尚待完善的地方,待我 ...

  6. 数据分析入门学习指南,零基础小白都能轻松看懂

    数据分析在如今的求职场上越来越重要.然而,让很多朋友困惑的是,我是没有编程基础的小白,能学会数据分析么?该如何学习数据分析呢? 其实,如果你打算成为一名数据分析师,如何出身并不重要,数据科学是一门应用 ...

  7. 数据分析入门学习指南|零基础小白必看

    数据分析在如今的求职场上越来越重要.然而,让很多朋友困惑的是,我是没有编程基础的小白,能学会数据分析么?该如何学习数据分析呢? 其实,如果你打算成为一名数据分析师,如何出身并不重要,数据科学是一门应用 ...

  8. 非技术人员应该学习SQL的3个原因

    作为一名数据分析师,我整天编写SQL查询.我的任务之一是充当公司数据库和需要随时使用数据的同事之间的翻译.根据他们的需求定制提取的数据后,他们就能够进行自己的分析并得出面向业务的结论.与对数据一无所知 ...

  9. ESXi6.5环境搭建(五:常见问题及解决方案实验总结)

    实验目的及要求 完成VMware workstations安装,会应用相关操作: 完成虚拟机中ESXI6.5平台的安装及网络环境配置: 完成VMware vSphere Client 6.0软件在PC ...

最新文章

  1. 理解 CSS 布局和块级格式上下文
  2. python客户端与服务器端通信数据库原理_python网络-HTTP协议(28)
  3. mongodb数据库磁盘碎片整理。
  4. python之字典使用方法总结
  5. BZOJ3270: 博物馆
  6. linux centos/redhat mysql8.0安装(汇总贴)
  7. 第一章 计算机网络 3 标准化工作和相关组织 [计算机网络笔记] -简单浏览了解即可
  8. 这是2019年适合Java程序员读的10本书
  9. 邮件格式转换html,HTML邮件模板 - lenglingx的个人页面 - OSCHINA - 中文开源技术交流社区...
  10. zen brush 2 android,zen brush2
  11. 这篇文章写给想学计算机视觉还没开始的人
  12. php网站整合ck播放器,CKplayer 整合播放M3U8视频
  13. 2019_WSDM_Session-Based Social Recommendation via Dynamic Graph Attention Networks
  14. PHP月考---给自己建个错题本
  15. 转载 Java基本数据类型
  16. java是面向过程的编程语言_1. 下列关于JAVA语言特点的叙述中,错误的是[   ] A、Java是面向过程的编程语言...
  17. idea如何设置导包不带*号
  18. 树莓派 Pico Clion开发
  19. pandas中drop用法_机器学习笔记:Pandas的delete、drop函数的用法
  20. Django和Vue搭建前后端分离框架

热门文章

  1. 前端开发学习二——由JSON和Object Literal Notation引起的思考
  2. 物联网带着诚意扑面而来
  3. 基于卷积神经网络的匹配代价算法
  4. Redis分布式部署,一致性hash
  5. [转载]WSUS客户端排错--使用wsus client tools
  6. [转载]C#中各种计时器
  7. Flex+J2EE获取FlexSession的方法
  8. How to resolve conflicts in TortoiseSVN
  9. 一个笑话,关于哲人和普通人的
  10. SqlServer 增加字段,修改字段名,删除字段,修改字段默认值