SQL常用语句篇

描述

一、所谓SQL

SQL (Structured Query Language) 是具有数据操纵和数据定义等多种功能的数据库语言,这种语言具有交互性特点,能为用户提供极大的便利,数据库管理系统应充分利用SQL语言提高计算机应用系统的工作质量与效率...巴拉巴拉。相信大家对SQL语言都有一定的认知,这里就不多赘述了。

二、常用语句

SELECT all columns with LIMIT

数据分析过程中,我们常常会有对数据的内容或格式做预览的需求,在不明确查询要求的情况下,通常会做SELECT *操作来执行全部结果,LIMIT n命令可以帮助我们获取到之行结果的前n条,减少执行时间和内存。

SQL

SQL

2、Distinct clause

Distinct可以对查询字段的执行结果Unique,如下

未执行Distinct clause

SQL

SQL

执行Distinct clause

SQL

SQL

 3、joins

包括笛卡尔积、内积、外积、Self Join等。具体使用方法如下

linner join可以输出两个表或者更多表中共同的行,类似数学中的韦恩图,取两个集合的交集

lLeft join仅仅输出左边表中的所有行,输出结果中右边表不存在的值为Null

lRight join仅仅输出右边表中的所有行,输出结果中左边表不存在的值为Null

SQL

4、Case When clause

可以让我们根据现有的数据生成一些新的列,类似于Python中的if-else语法。

例如,基于salary字段条件生成新列”salary_rank”

SQL

SQL

5、Sub-queries

即子查询,如下查询所有工资高于‘王大’的人的全部字段

SQL

SQL

6、Ranking functions

lrow_nubmer(),这个排序函数的特点是相同数据,先查出的排名在前,没有重复值。先查出来的数据的rank排名优先。partition by 相当于分组查询。desc是降序

lBTW-说下rank()和row_nubmer()的区别,rank()函数是跳跃排序,相同数据排名相同,比如并列第1,则两行数据都标为1,下一位将是第3名.中间的2会被直接跳过。排名会有重复值

SQL

SQL

7、Analytic functions

即分析函数,常用的有:

lfirst_value和last_value 取的是排序后的数据截止当前行的第一行数据和最后一行数据

lLag和Lead分析函数可以在一次查询中取出当前行后N行和前N行的数据。第一个参数为列名,第二个参数为往后/前第n行(可选,默认为1),第三个参数为默认值(当往上第n行为NULL时候,取默认值,如不指定,则为NULL) 

SQL

SQL

8、Aggregate functions

即聚合函数,SUM, AVG, MAX, MIN, COUNT等。

需要注意的是聚合函数需要通过‘group by’分组,确定最小聚合维度

SQL

SQL

9、Union & union all

lUnion & union all二者都是对多个列数、列名、列字段类型相同的数据集进行组合,产出成一个数据集的function

l区别是union会对结果数据集进行去重,相当于distinct,而union all会做全部结果集并集产出,不会去除重复行

union示例:

SQL

SQL

union all示例:

SQL

SQL






审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分