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会从结果开始处选择指定数量或比例返回

 

posted @ 2018-03-14 16:50  小小小怪兽  阅读(384)  评论(0)    收藏  举报