SQL执行顺序

sql语句作为结构化查询语言,从语法构成和逻辑上相对简单明了,简单举例基本语法样式:

select ——[column]
from ——-[table]
where ——-[检索条件]
group by ——[将数据按组划分]
having ——-[分组过滤条件]
order by——-[将数据进行排序]

标准的SQL语句的执行顺序:
1、首先执行from子句,如果from后有多个table,先组装不同的数据源到临时表T1;
2、根据where后的条件对临时表T1进行筛选过滤,生成临时表T2;
3、按照group by *对临时表T2的数据进行分组,分组后生成临时表T3;【如果没有用到聚合函数,当然也可以不分组】
4、如果有having子句,接下来按照子句条件过滤临时表T3的数据,再生成临时表T4;
5、执行select,按照select所选择的列(column)对临时表T4进行过滤,先执行聚合函数,然后执行distinct去重复行,过滤后生成临时表T5;【如果select后用到聚合函数,则先进行计算。聚合函数也就是sum,count,avg,min,max等函数。】
6、order by ,按照order by 条件指定列对临时表T5的数据进行升序或者降序(ASC为升序,DESC为降序,默认为升序)排序后生成临时表T6;
7、top,按照top的条件从临时表T6中拉出对应数据,生成临时表T7,并把数据呈现给用户。【top命令不是所有数据库都支持的】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值