前言:SQL可以说是在数据处理和分析领域最常用的程序语言了,有很多想从事这个数据业务但还没入门的同学都在问这个问题。但是,这个问题大概率是个无意义的问题。

且听我道来。

文章目录

  • SQL简介
  • SQL语法
  • SPL资料

SQL简介

问这个问题的同学,要先问一下自己,学SQL打算做什么?

嗯,希望学会后能写SQL语句做数据分析!

这是个很常见的目标,但事情却不是那么简单,因为现实中几乎不存在只要学会SQL语法就能做数据分析的场景。

SQL要在数据库里跑,那谁给你安装这个数据库?谁又负责把这些数据给放进去让你查询分析?

你查询出来的数据只是看看就完了么?还是要有段程序代码会根据查询结果做下一步的事情,比如特别常见的情况是要算个报表出来看看?

安装数据库、理解往数据库中写入数据的机制、用程序代码访问数据库并执行SQL、取出执行结果做下一步动作、…。如果这些事你都学会了,那SQL自然就会了,SQL本身语法的入门难度远远低于这些事情。如果这些事你还不会,那只学会了SQL语法也没什么用武之地。而学会这些事本身并不是很简单,所以,快速学会SQL是个伪命题。这时候,应该改问:如何学会安装MySQL和导入数据进去、如何学会Java编程和用Java访问Oracle、…;学会SQL语法是学会这些东西的副产品,不值得单提出来。

作为初学者,还有种可能是各种忽悠的贴子看多了,老听说SQL是数据查询分析的基础技术,就会以为学会SQL就能做数据分析了,而数据分析师现在是个热门岗位。

SQL是数据查询分析的一种基础技术,这话大体不错,但对于初学者来讲,学会SQL就能做数据分析的指望可能是要落空的。原因就是如上所述,会有N多比SQL入门难度大得多的东西挡在你面前。SQL入门并不难,但不解决那些挡在SQL前面的障碍,你学会了SQL也没什么意义。如果你有本事把挡在SQL前面的障碍都搞定,那你根本不会再来问这个问题。

门外汉想做数据分析的话,SQL其实不是一个适合作为第一步该学习的程序语言。

会不会有这样的场景呢:数据库和里面的数据已经被专业人员准备好了,你只要写SQL就能查数据了,不用去管数据库安装维护以及程序访问的事。

通常来讲,数据库管理员不会有这么大的胆子给你一个刚入门的选手开放写SQL的权限来瞎折腾数据库,即使只给查询权限保证弄不坏数据,那也可能跑死数据库让大家都用不了。而如果把查询功能再限制的话,那些BI软件都有界面给搞定了,直接拖拽出来,根本用不着再去写SQL。当管理员敢放心给你开发写SQL权限时,还是那个话,你多半早就学会安装维护数据库甚至写程序访问数据库之类的难事了。所以,还是要把问题改一下。

根本的问题在于,SQL不像其它工具一样是个可以独立工作的东西,它的存在要依附于数据库甚至程序开发体系,这些被依附的东西的难度远远大于它本身的入门。

再重复一遍,SQL并不合适作为数据分析门外汉要进门的第一步。

那么,做数据分析,什么才是第一步该学的程序语言?

这是个题外话了,请移步这里看看 零基础同学自学编程的正确姿势 。

SQL语法

再退一步讲,我就是兴趣大,想学SQL,总行吧。

当然行!

那有没有办法让我只学SQL语法而避开数据库和程序语言那些麻烦事?

也有。

SQL语法要只是入门的话,那没什么难的,简单的SQL几乎可以当英语一样读。这里要学的是结构化数据的概念和运算,任何一本讲SQL的书都会讲这些内容,这是世界标准的知识,随便选一本来读就行了。

然后呢,去下载安装一个免费的集算器SPL(开源软件,搜索一下吧),再找几个行式Excel文件(这种数据多得很)来当作数据表,集算器可以让你对着Excel文件执行SQL,它支持绝大多数的基础SQL语法,这样就不需要折腾数据库的麻烦事了。没有 RDB 也敢揽 SQL 活的开源金刚钻 SPL 这里有关于集算器中对SQL支持的介绍,在数据文件上轻松使用 SQL 这里讲了如何利用集算器在文件上执行SQL。

集算器并不是为了提供SQL能力而设计,所以它的课程资料中也没有SQL的教程,这得你自己找了,不过,这玩意儿满大街都是,很容易找。而且,学习SQL更关键的在于理解结构化数据的相关知识,表和字段是什么、分组和连接又是什么意思、等等。这些内容,在集算器的图书 【程序设计】 前言及目录 中就都会讲到了。这些是比SQL语法更重要的学习内容。这本书中涉及的结构化数据概念和运算,从广度和深度都超过SQL资料,还结合有通俗实用的例子,用来学习结构化数据的知识会比大多数SQL教科书更合适。有了这些知识之后再来看SQL语法,那是分分钟就能掌握的事情了。

要提醒的是,SQL入门简单,精通却很难。这个语法体系并不合适处理复杂的查询,经常要写出N层嵌套甚至上百行的SQL。
SQL 为什么动不动就 N 百行以 K 计 这里有对这个问题的深入讨论和举例。

最后,将SPL的资料提供给大家

SPL资料

  • SPL官网
  • SPL下载
  • SPL源代码

初学者怎么快速学会SQL相关推荐

  1. 零基础初学者如何快速学会python

    学会Python能做的事情也很多,常见的就有网络爬虫,数据分析,前端开发,机器学习,都能很好地提高工作效率,往任何一个领域发展,工作前景是非常不错的. 接下来我从基本的软件安装开始,仔细的给大家分析新 ...

  2. 如何快速掌握计算机知识,怎样快速学会电脑 学电脑的5种方法推荐

    电脑已成为人们日常办公生活娱乐必不可少的工具,现在每个人都了解点电脑知识,都要会点电脑的基本应用,那么如果对于一个电脑新手来说,怎样快速学会电脑呢,下面小编就给大家介绍下学会电脑的5种方法吧. 怎样快 ...

  3. python程序设计心得体会感想-如何快速学会Python

    如何快速学会Python 发布时间:2020-02-04 一.什么是Python Python是一种计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版 ...

  4. 计算机键盘快速指南,如何练习盲打(快速学会键盘盲打技巧)

    如何练习盲打(快速学会键盘盲打技巧) 在诸如记者招待会之类的信息发布场面里,大家会注意到,有很多人耳目关注着会场声响动静的同时,不用看自己的笔记本电脑键盘,双手就能在电脑键盘上快速地击键打字,把会议的 ...

  5. 金融分析师 python_量化金融分析师(AQF)|教你快速学会Python

    量化金融分析师(AQF)|教你快速学会Python Python是一个非常适合初学者入门的编程语言.相比较其他不少主流编程语言,有更好的可读性,因此上手相对容易.自带的各种模块加上丰富的第三方模块,免 ...

  6. 教你快速学会画动漫人物表情

    动漫人物表情画法,3分钟教你快速学会画表情,快来跟我一起零成本学板绘吧!咱们的免费板绘系列教程又来啦,今天教大家的板绘技能是什么呢?今天的板绘学习教程来教你如何画动漫女生的表情! 板绘动漫女生的表情画 ...

  7. 如何快速学会php语言

    要快速学会PHP语言,可以采取以下几个步骤: 入门学习 首先,可以上网查找PHP的入门教程,了解基本的语法和概念,掌握变量.数组.函数.流程控制等基本知识. PHP(Hypertext Preproc ...

  8. UI设计培训之:5个小技巧快速学会PS抠图

    一听到PS抠图,我们大家心里是不是产生了退却心理,害怕它过于复杂的操作. 那么现在有一种简单方法教给大家,如何在10分钟内快速学会ps抠图. 而你所需要准备的就是给自己10分钟的尝试时间. 你没有尝试 ...

  9. 零基础自学python教程-零基础5个月快速学会Python的秘诀

    点击蓝字"python教程"关注我们哟! 零基础该怎么快速学习Python呢?如何用5个月快速学会Python? 1 这里主要讲一下python基础与爬虫 个人认为可以分为两步走: ...

最新文章

  1. 编译报错一列----aclocal找不到
  2. 苏州的高铁旅游的基本调查
  3. github怎么隐藏自己的pr记录_记便签的软件哪个好?怎么及时记录自己的想法
  4. globalmapper如何选取图像上的点_OpenCV 进阶应用,用编程手段搞定图像处理
  5. 前端学习(1997)vue之电商管理系统电商系统之渲染tab栏标签
  6. 车祸是怎么发生的 不论你是否开车都该看看!
  7. LeetCode 840. 矩阵中的幻方(数学)
  8. mybatis配置insert/update/delete同一个模板
  9. android 颜色过渡动画效果,Android buttom textview 颜色平滑过渡的动画效果
  10. python从0到1_Python学习,从0到1
  11. BFS(两点搜索) UVA 11624 Fire!
  12. Git——版本回退【git reset / git log / git reflog】
  13. mybatis pageHelper 不分页
  14. 人工智能助力网络金融反欺诈,声纹识别受追捧
  15. Make menuconfig详解(转)
  16. Invalid prop:type check failed for prop“value“.Expected String with value“8“,got Number with value 8
  17. Huffman 编码的实现(C语言)
  18. HTML5 之 Frame Frameset Noframes 标签
  19. 在linux上下载使用cisco anyconnect Software
  20. SourceMap 浏览器控制台报错:DevTools failed to load SourceMap:Could not load content for ...

热门文章

  1. 从《长安十二时辰》穿越到现代企业,看数字化转型怎么做
  2. Node.js + Vue.js 全栈开发王者荣耀手机端官网和管理后台
  3. 计算机等级缩写,笔记本报价单常见缩写字典
  4. thinkcmf漏洞导致网站被挂webshell木马
  5. 自己不想动手,也想体验chatgpt怎么办?slack中添加Claude应用报错403?
  6. spring cloud ,spring boot application.properties 配置属性列表
  7. 微信开发转换html5,Html5调用企业微信的实现
  8. 关于mac上outlook2016无法打开的问题
  9. js实现图片循环播放--带按钮功能(广告轮播效果)~~~(超简单代码实现)
  10. 麦芽糖-阿奇霉素 maltose-Azithromycin 阿奇霉素-PEG-麦芽糖