Mysql的书写顺序和执行顺序

Mysql的书写顺序和执行顺序

一、书写顺序

select->distinct->from->join->on->where->group by->having->union->order by->limit

二、执行顺序

1、执行顺序

from -> on -> join -> where -> group by -> having -> count(聚合函数 avg、max、min、sum) -> select -> distinct -> union -> order by -> limit 

2、执行步骤解释:

1、from: 获得数据的来源。
2、on: 获得数据的关联表,执行完后生成一个临时表t1,提供给下一步的操作使用。
3、join: 将join表的数据补充到on执行完成的临时表t1中。
4、where: 根据携带的条件,从临时表中筛选出符合条件的数据,并生成临时表t2。
5、groub by: 根据携带的条件,将临时表t2进行相应的数据分组,并形成临时表t3,如果语句包含了group by则它后面的字段必须出现在select中或者出现在聚合函数中,否则会报SQL语法错误。
6、having: 筛选分组后临时表t3的数据,得到临时表t4。
7、count等聚合函数: 对临时表进行指定字段的聚合函数操作,形成临时表t5。
8、select: 从临时表筛选出需要返回的数据,形成临时表t6。
9、distinct: 对临时表t6进行指定的去重筛选,形成临时表t7。
10、union: 对临时表t7进行组合,形成临时表t8。
11、order by: 对临时表t8排序,形成临时表t9。
12、limit: 筛选返回的数据条数。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值