SQL应知应会
If you want your life to be a magnificent story, then begin by realising that you are the author.
本文就Udacity数据分析入门课程中的SQL入门(P1阶段)和SQL进阶(P3阶段)的知识点进行总结。SQL的主要功能不外乎增、删、改、查四个,对于数据分析师来说,只需要掌握查就可以了。(因为增删改往往超出了数据分析师的职能范围)
注意:本文是总结性质的,只能提供复习或者速查的功能,讲解得不会很详细,若想学习,还是要在教室内逐章学习。
SQL简介
SQL是Structured Query Language的简写,也就是结构化查询语言。SQL 最受欢迎的功能是与数据库交互。
使用传统关系数据库与 SQL 交互有一些主要优点。最明显的 5 个优点是:
- SQL 很容易理解。
 - 传统的数据库允许我们直接访问数据。
 - 传统的数据库可使我们审核和复制数据。
 - SQL 是一个可一次分析多个表的很好工具。
 - 相对于 Google Analytics 等仪表板工具,SQL 可使我们分析更复杂的问题。
 
为什么企业喜欢使用数据库
- 只有输入了需要输入的数据,以及只有某些用户能够将数据输入数据库,才能保证数据的完整性。
 - 可以快速访问数据 - SQL 可使我们从数据库中快速获取结果。 可以优化代码,快速获取结果。
 - 可以很容易共享数据 - 多个人可以访问存储在数据库中的数据,所有访问数据库的用户获得的数据都是一样。
 
SQL 与 NoSQL
你可能听说过 NoSQL,它表示 Not only SQL(不仅仅是 SQL)。使用 NoSQL 的数据库时,你编写的数据交互代码会与本节课所介绍的方式有所不同。NoSQL 更适用于基于网络数据的环境,而不太适用于我们现在要介绍的基于电子表格的数据分析。最常用的 NoSQL 语言之一是 MongoDB。
SQL入门
SQL书写规则
- SQL语句不区分大小写,因此SELECT与select甚至是SeLect的效果是相同的,但是要对命令和变量进行区分,所以默认命令需要大写,其他内容如变量等则需要小写;
 - 表和变量名中不要出现空格,可使用下划线
_替代。 - 查询语句中,使用单一空格隔开命令和变量
 - 为提高代码的可移植性,请在查询语句结尾添加一个分号
; 
SQL中的注释
行内注释
使用两个连字符-,添加注释。
1
2SELECT col_name -- 这是一条注释
FROM table_name;多行注释
多行注释以
/*起始,以*/结尾。1
2
3
4/*SELECT col_name
FROM table_name;*/
SELECT col_2
FROM table_name;
检索数据(SELECT FROM LIMIT )
检索数据主要用的语句为:SELECT。
检索单列
1  | SELECT col_name  | 
从table_name表中检索col_name列。
检索多列
1  | SELECT col_1,col_2,col_3  | 
从table_name表中检索col_1,col_2和col_3列。
检索所有列
1  | SELECT *  | 
使用通配符*,返回table_name表中的所有列;
检索某列中不同的值
1  | SELECT DISTINCT col_1  | 
检索col_1中具有唯一性的行,即唯一值。
限制检索的结果
使用LIMIT语句可以限制返回的行数。
1  | SELECT col_1  | 
返回前10行(即第0-第9行)。
也可以添加OFFSET语句,设置返回数据的起始行:
1  | SELECT col_1  | 
从第五行之后,返回十行数据(即第5-第14行)。
排序检索数据(ORDER BY)
ORDER BY 语句用于根据指定的单列或多列对结果集进行排序。
ORDER BY 语句默认按照升序对记录进行排序。(从小到大,从a到z)
如果您希望按照降序对记录进行排序,可以使用 DESC...
剩余内容已隐藏