【oracle】七、group by 分组 having 执行顺序

分组

分组在oracle中也是比较重要,在实际工作中用的也是比较多,必须掌握

一、sql语法

select xx from 表名 group by 分组列

二、执行步骤

  • from 获取到数据源
  • 根据数据源,进行分组
  • XX 展示的是分组的数据(这里只能展示每条共性的列,和分组计算之后的值)

三、having

having 主要是对分组之后在进行筛选

3.1、SQL语法

select xx from 表名 group by xx having xx

3.2、执行步骤

  • from 确认数据源
  • group by 分组
  • having 对分组之后的进行筛选
  • select 查询满足的条数

四、行记录筛选和组记录筛选

这里的行记录筛选,主要是针对where,组记录筛选是针对having,这里如果他们同时使用,那么sql执行顺序会发生什么变化呢?

4.1 sql语法

select xx from 表 where xx group by xxx having xx

4.2 执行 过程

  • from确定数据源
  • where对数据源进行筛选
  • group by针对筛选后的数据分组
  • having针对分组后的数据进行筛选
  • select 查询要展示的筛选后的最终记录
posted @ 2021-12-23 22:19  小风仔  阅读(468)  评论(0编辑  收藏  举报