SQL select语句 执行顺序(转载)

本文详细解析了SQL查询语句从数据源获取数据、筛选、分组、计算、筛选分组、表达式计算和排序的完整执行流程,帮助读者深入理解SQL查询的执行机制。

转自http://bbs.youkuaiyun.com/topics/320252452fredrickhu的回答:

SQL Select语句完整的执行顺序:

1、from子句组装来自不同数据源的数据;

2、where子句基于指定的条件对记录行进行筛选;

3、group by子句将数据划分为多个分组;

4、使用聚集函数进行计算;

5、使用having子句筛选分组;

6、计算所有的表达式;

7、使用order by对结果集进行排序。

另外:一个查询语句各个部分的执行顺序:

--8)  SELECT (9) DISTINCT (11) <TOP_specification> <select_list>

--(1)  FROM <left_table>

--(3)    <join_type> JOIN <right_table>

--(2)      ON <join_condition>

--(4)  WHERE <where_condition>

--(5)  GROUP BY <group_by_list>

--(6)  WITH {CUBE | ROLLUP}

--(7)  HAVING <having_condition>

--(10) ORDER BY <order_by_list>

转载于:https://www.cnblogs.com/xhj-records/p/3378768.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值