SQL的select语句完整的执行顺序
SQL的select语句完整的执行顺序
1 from子句组装来自不同数据源的数据:如果from后面有左右连接,会把两张表进行组装。
首先会把from的前后表执行笛卡尔积生成虚拟表vt1,然后根据on对vt1表进行筛选,满足条件的插入到vt2,如果连接是外连接,根据连接类型把前表或后表中没有匹配到的记录添加到vt2生成vt3。如果from后面包含多个连接,则把上个连接产生的结果和下一张表重复上述步骤,直到处理完所有表。
2 where 子句基于指定的条件对记录行进行筛选
3 group by子句将数据划为多个分组
4 使用聚合函数进行计算
5 使用having子句对分组进行筛选
6 计算所有表达式
7 select字段
8 如果有distinct 会对结果进行去重
9 使用order by对结果进行排序
10 如果有top会从结果开始处选择指定数量或比例返回

浙公网安备 33010602011771号