查询语句的执行顺序

简单的介绍一下数据库查询语句的执行顺序

1.from
from子句后边跟的是单表时,将该表的数据全部查询出来,存入虚拟表VT1中;跟的是多表时,会产生这几张表的笛卡尔积,存入VT1中;
2.on
执行到on子句后,会将VT1中符合条件的行存入虚拟表VT2中;
3.join
如果有外链接(outer join),会将未匹配的行,添加到VT2中,生成虚拟表VT3;
4.where
将符合where后条件的行存入VT4中;
5.group by
按照分组条件分组,将分组后的数据存入VT5中;
6.having
跟在group by后的条件过滤,将符合条件的行存入VT6中;
7.select
将要查询的列存入VT7中;
8.distinct
将VT7中的数据去重后,存入VT8中;
9.order by
根据排序条件,将VT8中的数据排序后存入VT9中;
10.limit
根据要查询的行数,存入VT10中;

在看到MySQL技术内幕这本书后,做的sql的小结。方便自己记忆及与大家分享。有不足之处,请大家指出。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值