Day 7 sql课程结束~

本文介绍了高级SQL技巧,如窗口函数(Rank(),Dense_rank(),Row_number())在数据分析中的应用,以及如何使用DataGrip进行云端数据库配置和查询,包括表连接、子查询实例,以及Excel和Tableau连接数据库的方法。作者强调通过实践和牛客网练习提升SQL技能。
摘要由CSDN通过智能技术生成

高级语句 sql学习听课笔记

窗口函数 over([partition by  字段名] [order by 字段名 asc|desc])

                           分区

Tip:窗口函数只能写在select子句中

  1. 排序窗口函数

Rank()over()——跳跃式排序 1,1,3,4

Eg:查询2017年选区为“S14000024”的所有候选人所在团体(party)和其选票数(votes)还有候选人得票数在选区内对应的排名。结果按照团体party排序。

Dense_rank()Over()——并列连续型排序1,1,2,3

Row_number()over()——连续型排序1,2,3,4

  1. 偏移分析函数

Lag(字段名,偏移量,[默认值])over()

Lead(字段名,偏移量,[默认值])over()

EG:查询意大利每周新增确诊数

表连接

  1. 内连接—select 字段名 from 表名1 (inner) join 表名2 On 表名1.字段名=表名2.字段名

Inner join 连接两个表留下同时互相匹配上的行得到一张新表(笛卡尔积原理)

  1. 左连接—select 字段名 from 表名1  left join 表名2 On 表名1.字段名=表名2.字段名

Left join 保留左边的表返回所有行,右边的表只留下匹配上的行得到一张新表(右边没有左边所有的行就填写Null空值),保证左边表数据的完整性

  1. 右连接—select 字段名 from 表名1  right join 表名2 On 表名1.字段名=表名2.字段名

Right join 保留右边的表返回所有行,左边的表只留下匹配上的行得到一张新表(左边的表没有右边所有的字段时就填写null空值),保证右边表数据的完整性

Eg: 查询有球员名叫Mario进球的队伍1,队伍2及球员姓名

子查询

Tips子查询优于主查询

From子查询必须使用别名,同样可以省略as ,不使用别名会报错

From子查询结果可以是多行多列

Eg:查询所有国家人口均<=25000000的大洲,及其国家名和人口

  • 下载DataGrip后云端数据库配置(不细细描述了,看戴师兄视频操作的已完成。!噢对我的tableau学生版已经申请完成哈哈哈)

DataGrip操作运行:

  1. 查看表的字段: 1双击该表2右键新建查询控制台—输入代码describe 控制台名称.表名称

Eg:查询所有门店每天的GMV和CPC消耗

   

  1. 查询2020年饿了么平台上每个门店GMV最高的那天的日期和GMV(窗口函数)

提升:牛客网练习sql真题(认真对待每道遇到的SQL题,每道题都要搞懂)

      在实战中不断提升

保持手感,持续练题。冲冲冲!!!

Excel连接数据库

第一步装驱动配置驱动

第二步获取数据。数据选项卡—获取数据—来自其他源—从ODBC—选择刚刚创建的Mysqldatabase—在sql语句中写语句限制(excel比较脆弱)假如字段数据较多时,添加Limit,添加筛选以避免excel崩盘(eg: select * from ddm.shop)—输入数据库的用户名密码—数据表返回到excel中

第三步 怎么使用

数据源是直接连接数据库的数据源,跟随数据表联动,在数据选项卡—全部刷新(刷新的是数据库的数据源表)

Tableau连接数据库

Mysql驱动已经在excel部分安装完毕

直接选择连接到服务器,选择Mysql,填写数据库参数。

可以直接拖拽数据库,也可以写自定义sql.

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值