一、所谓SQL
SQL (Structured Query Language) 是具有数据操纵和数据定义等多种功能的数据库语言,这种语言具有交互性特点,能为用户提供极大的便利,数据库管理系统应充分利用SQL语言提高计算机应用系统的工作质量与效率...巴拉巴拉。相信大家对SQL语言都有一定的认知,这里就不多赘述了。
二、常用语句
1 、SELECT all columns with LIMIT
数据分析过程中,我们常常会有对数据的内容或格式做预览的需求,在不明确查询要求的情况下,通常会做SELECT *操作来执行全部结果,LIMIT n命令可以帮助我们获取到之行结果的前n条,减少执行时间和内存。
2、Distinct clause
Distinct可以对查询字段的执行结果Unique,如下
未执行Distinct clause:
执行Distinct clause:
3、joins
包括笛卡尔积、内积、外积、Self Join等。具体使用方法如下
linner join可以输出两个表或者更多表中共同的行,类似数学中的韦恩图,取两个集合的交集
lLeft join仅仅输出左边表中的所有行,输出结果中右边表不存在的值为Null
lRight join仅仅输出右边表中的所有行,输出结果中左边表不存在的值为Null
4、Case When clause
可以让我们根据现有的数据生成一些新的列,类似于Python中的if-else语法。
例如,基于salary字段条件生成新列”salary_rank”
5、Sub-queries
即子查询,如下查询所有工资高于‘王大’的人的全部字段
6、Ranking functions
lrow_nubmer(),这个排序函数的特点是相同数据,先查出的排名在前,没有重复值。先查出来的数据的rank排名优先。partition by 相当于分组查询。desc是降序
lBTW-说下rank()和row_nubmer()的区别,rank()函数是跳跃排序,相同数据排名相同,比如并列第1,则两行数据都标为1,下一位将是第3名.中间的2会被直接跳过。排名会有重复值
7、Analytic functions
即分析函数,常用的有:
lfirst_value和last_value 取的是排序后的数据截止当前行的第一行数据和最后一行数据
lLag和Lead分析函数可以在一次查询中取出当前行后N行和前N行的数据。第一个参数为列名,第二个参数为往后/前第n行(可选,默认为1),第三个参数为默认值(当往上第n行为NULL时候,取默认值,如不指定,则为NULL)
8、Aggregate functions
即聚合函数,SUM, AVG, MAX, MIN, COUNT等。
需要注意的是聚合函数需要通过‘group by’分组,确定最小聚合维度
9、Union & union all
lUnion & union all二者都是对多个列数、列名、列字段类型相同的数据集进行组合,产出成一个数据集的function
l区别是union会对结果数据集进行去重,相当于distinct,而union all会做全部结果集并集产出,不会去除重复行
union示例:
union all示例:
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !