戴你玩转数据分析-第四章 SQL语言与数据库搭建

4.1数据库及工具安装

提前声明

一、连接课程数据库(必须完成)

二、汉化工具(非必须)

三、本地安装Mysql数据库(非必须)

四、Datagrip管理Mysq数据库(非必须)

4.2 SQL基础语句运行原理

一、做好准备

二、select+from

1.部分现有字段

1.1业务需求

1.2思考过程

1.3SQL里要如何实现?

2.全部现有字段

2.1业务需求

2.2思考过程

2.3SQL里要如何实现?

3.新增计算字段

3.1业务需求

3.2思考过程

3.3SQL里要如何实现?

三、select+from+where

筛选

1.业务需求

2.思考过程

3.SQL里要如何实现?

四、select+from+where+group by

1.分组去重

1.1业务需求

1.2思考过程

1.3SQL里要如何实现?

2.聚合运算

2.1业务需求

2.2思考过程

2.3SQL里要如何实现?

五、select+from+where+group by+having

聚合后筛选

1.业务需求

2.思考过程

SQL里要如何实现?

六、select+from+where+group by+having+order by+limit

对输入的结果排序,并限制返回的行数

1.业务需求

2.思考过程

3.SQL里要如何实现?

七、SQL单表查询运行原理

1.原理示意

2.准备阶段

3.计算阶段

八、select+from+join on+以上全部

1.连接不同表格的数据

SQL里要如何实现?

2.连接原理总结

九、SQL多表查询运行原理小知识

单表

多表

4.3子查询与窗口函数

一、子查询

二、窗口函数

各种窗口函数

1.根据排序分配序号【取最新数据、给排名】

row_number():根据分区内的排序,分配唯一且连续排名序号【用得最多】

dense_rank():根据分区内的排序,分配不唯一且连续排名序号

rank():根据分区内的排序,分配不唯一且不连续排名序号【高考排行】

2.根据排序取具体字段数值【取第一名或最新数值】

first_value(字段):根据分区内的排序,返回排在第一行的对应的字段数值(降序就可以去最后一行对应的数值)

nth_value(字段n):返回分区内的排序第n行的字段数值。如果第n行还未运行到,则返回NULL。n必须是正整数,例如1,2和3。

3.根据排序取上下几行的数值【求同环比】根据排序统计分布位置【算占比和分布】

lag(字段,n,默认值):返回分区内,本行前n行的字段数值,如果为空则填充默认值

lead(字段,n,默认值):返回分区内,本行后n行的字段数值,如果为空则填充默认值

4.根据排序统计分布位置【算占比和分布】

percent_rank():根据分区内的排序,从0开始统计当前行所在排序中的处于百分之多少的位置(不管指定值与分组序列中某值是否重复,均将此值视为序列一部分)

cume_dist():根据分区内的排序,从0之后开始统计当前行所在排序中的百分比分布位置(如果指定值与分组序列中某值重复,则将二值视为一个值处理)【更常用】

5.在排序内分组【分组、下发任务】

ntile(n):将排序内的行分为n组,根据分区内的排序,返回每一行是第几组

4.4SQL实战演练与刷题提升

一、SQL学习的3个阶段

第一阶段:理解运行原理,串联核心语句

第二阶段:积累函数用法,刷题巩固提升

第三阶段:拆解企业需求,复杂库表实战

强调一点:一定要学会自己看报错Debug!!!

二、数据架构基础知识

三、核心语句巩固提升

四、连接窗囗进阶深入

五、常见函数组合使用

六、大厂真题手撕提升

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值