sql isnull怎么没用_sql技能复习(一)

52b761182e1bde2fc8bba32b70b75cc2.png

1.基础语句

sql的执行顺序

手写顺序

de635380c5d2a9e79dd0894bc6bb7a9f.png

实际执行的顺序

77ccc4642e5967710361e410f9cf4b14.png

理解清楚实际执行的顺序,我们取数的逻辑会更加清晰,取数效果也会更加高效和真实。

sql的关键字使用

常使用的关键字有,group by, order by ,where, join,having, like,distinct,聚合等等,每个关键字都有其独特的用处,下面结合上图的sql执行顺序进行介绍。

join(多表连接)

业务场景一: 两张表,订单表存放着用户的购买信息,用户信息表存放着用户的个人信息,两张表里用户ID是主键,现在想对一定时期内的平台销售情况进行用户层面的分析,则需要将两张表连接起来。

连接类型有内连接,左连接,右连接等,on关键字后接连接条件,条件可以是单字段,多字段,函数等,匹配类型可以是一对一匹配,一对多匹配。

where(条件筛选)

业务场景一ing,要分析在11月份下单,且用户所在的城市是北京、上海、深圳、广州其中之一的销售情况,就要用where 进行筛选,对订单表进行时间筛选,对用户表进行所在地筛选。

group by (分组聚合分析)

业务场景一ing,在上面的基础上对不同城市,男女的月花销做统计分析,就要用分组函数了,即group by 城市,性别

group by 常和聚合函数如 sum,avg,max,count等搭配使用,呈现出的是分组区间聚合后的统计值,有时需要对分组区间进行细节性统计,这个时候就要用到功能强大的窗口函数了(见后文)。

having(筛选)

having筛选与where筛选的不同是,having是对新的字段进行筛选,where是对原有的字段进行筛选。

业务场景一:基础之上,想查看月花销在10000元之上的用户,则需要用having进行筛选一下,即having 月花销>10000

order by (排序)

对查询出的结果基于某种顺序进行展示,如业务场景一:按月花销从大到小降序排序,即order by 月花销 desc,sql默认是按照升序排序。排序依据可以有多个,即主次。如order by A desc,B

limit (取有限行)

有时,我们不需要查看所有的行,比如业务场景一,我们想查看月花销排在前三的群体是哪些,即limit 3,如果单独查看第三位的群体,语句为limit 2,1 ,指从第二位往后数一位。

其他关键字

like

模糊查询,用来查含有某个特征的信息,如查询姓名中带有磊字的用户,语句是 where name like(’%磊%‘)

distinct,去重

is null 判断null值

未完,待续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值