mysql的执行顺序

拼写顺序

sql

解读

执行顺序

执行顺序-解读

1

select

确定目标

7

预取值A-1

2

distinct

去重

8

去重A-2

3

from

来自哪

1

圈定大的范围

4

join(如left join)

表连接

3

5

on

表连接(关键词)

2

6

where

过滤

4

进一步明确范围

7

group by

分组

5

针对明确的范围进行处理1

8

having

分组-过滤

6

9

order by

排序

9

排序A-3

10

limit

确定最终取的记录数量

10

取值A-4

from 子句:左右2个表做笛卡尔积

on条件:筛选满足条件的数据

join条件:如果是INNER JOIN那就正常,如果是outer join 则会添加回来上面一步过滤的一些行

where条件:对不满足条件的行一处,并不能恢复

group by 分组:分组后只能得到每列的一行或者聚合函数值

with cube/rollup:形成超组

having筛选:对分组进行筛选

select查询:筛选出需要的列

distinct去重:去除重复的行

order by排序

limit 限定:制定需要返回多少行

(1)关于别名的使用

在mysql中,做了优化:

group by中可以使用别名;where中不能使用别名;order by中可以使用别名

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值