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的书都会讲这些内容,这是世界标准的知识,随便选一本来读就行了。

然后呢,去下载安装一个免费的集算器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源代码

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

  1. 初学者怎么快速学会SQL

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

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

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

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

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

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

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

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

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

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

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

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

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

  8. 如何快速学会php语言

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

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

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

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

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

最新文章

  1. 64位微型计算机系统是指内存,重庆2012年计算机非等级考试一级笔试试题
  2. BZOJ1911:[Apio2010]特别行动队——题解
  3. Nacos自定义共享 Data Id 配置
  4. Asp.net MVC Filter解析和实例说明
  5. [译]模型-视图-提供器 模式
  6. 单片机ADC采样算法----卡尔曼滤波
  7. java轮播图_RxJava 实现ViewPager的轮播图
  8. JDBC:深入理解PreparedStatement和Statement
  9. 浅析Comet技术在Java Web实时系统开发中的应用
  10. android 外接u盘格式化,u盘格式(安卓u盘格式化工具apk)
  11. html5 地铁 代码,基于HTML5WebGL的地铁管理系统
  12. ubuntu 安装gnome3
  13. crond和crontab详解
  14. 河北工业职业技术学院计算机怎样,河北工业职业技术学院宿舍怎么样 住宿条件好不好...
  15. 【图形学】【笔记】凹多边形
  16. android 实现发送彩信方法 (mms),非调用,android 实现发送彩信方法 (MMS),非调用系统界面...
  17. 2019牛客暑期多校训练营(第一场)B Integration 裂项相消 + 积分
  18. 游戏编程入门(9):开发 Henway(小鸡过马路) 游戏
  19. 龙瀛:大数据在城市设计中的应用(附演讲视频)
  20. 阿里服务器中安装mysql

热门文章

  1. python 上传文件到服务器(模拟网页前端上传)
  2. 人体三维重建——参数化人体方法简述
  3. php单页搜索引擎小偷,PIGO mini php搜索小偷 v2.0 正式版
  4. matlab dbns实现,matlab实现贝叶斯网络
  5. 基于富士通编译器Softune的堆栈、变量、常量理解
  6. VSCode配置JavaScript环境
  7. 3dsMax7数据导出方法及存在问题
  8. 多功能图片处理器微信小程序源码下载一键多种处理照片
  9. linux 网络编程与 windows 网络编程
  10. 打印输出Arraylist对整型字符增删改查方法开始结束的用时