sql语句执行流程

sql执行顺序

1.from

2.join

3.

  • on
  • left,right,outer…

4. where

5.group by

6. avg,sum…

7.having

8. select

9. distinct

10. order by

11. limit

每个步骤都会为下一个步骤生成一个虚拟表,这个虚拟表将作为下一个执行步骤的输入。
大致分为三个阶段:笛卡尔积阶段-(1,2,3,4)-> 分组计算阶段(5,6,7)-> 选取展现阶段(8-11)

  • 第一步:由from后进行计算,为select之后得选取展现阶段做准备
  • 第二步:将两张表或者多张表根据顺序进行笛卡尔积
  • 第三步:对笛卡尔积生成得虚拟表以on条件筛选。选出符合条件的实例(行)。筛选出符合条件的实例之后。根据left join 或 right join等条件特点补充符合条件实例
  • 第四步:对笛卡尔积阶段最后进行条件筛选
  • 第五步:对符合条件的实例进行分组
  • 第六步:对分组后的数据进行聚合操作
  • 第七步:可对聚合后的数据进行条件筛选
  • 第八步:拿到计算后的数据,为了数据排序展现等准备数据
  • 第九步:去重
  • 第十步:排序
  • 第十一步:选取展现的条数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值