SQL日常练习

<日常练习,持续更新>
*练习题:8、9、10、11 (3月25日 做完50题)
聚合函数、子查询、窗口函数、文本处理、 数字处理、日期处理、查询优化、数据关联后重复杂糅
先关注 要查询的表集合,再关注筛选字段和筛选条件。
1、关于联接:
Inner join = join
没有语法上的out join,left join 和right join都是out join
select * from a,b是笛卡尔乘积
2、关于子查询:
In 和 not in 
exists
关联子查询是子查询使用到了主查询的相关数据 
3、关于聚合函数:
只为了得到一个汇总值(分组group by , 筛选 having  +聚合函数统计),而不是要把每个数字都给检索出来,
4、关于日期函数
timestampdiff (unit,datetime_expr1,datetime_expr2):可用来计算年龄 
weekofyear()函数从给定的 DateTime 中查找星期
month():从 指定日期 中寻找月份
Year():从指定日期中寻找年份
5、关于窗口函数:
因为group by一列只有一个类别,partition by不会改变表中数据的类别 
avg ( score ) over ( partition by sid )- 聚合函数()over(partition by )
select *,
   rank() over (partition by 班级
                 order by 成绩 desc) as ranking
from 班级表
按班级分组,按成绩排名
1) 专用窗口函数,如rank, dense_rank, row_number等专用窗口函数。
2) 聚合函数,如sum. avg, count, max, min等
窗口函数是对where或者group by子句处理后的结果进行操作,所以 窗口函数原则上只能写在select子句中
排名问题、
累积问题、
复购问题、
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值