SQL执行顺序

2019/04/12

关键字

查询中用到的关键词主要包含六个,并且他们的顺序依次为

书写顺序

select [distinct] [count]->from->[*] join->on->where->group by->having->union->order by

执行顺序

from->on->[*] join->where->group by->count->having->select->distinct->union->order by->top

各关键字顺序

  1. from 子句: 执行顺序为从后往前、从右到左
  2. where子句: 执行顺序为自下而上、从右到左
  3. group by: 执行顺序为从左往右分组
  4. having 子句: 很耗资源,尽量少用
  5. select子句: 少用*号,尽量取字段名称。
  6. order by子句: 执行顺序为从左到右排序,很耗资源

总结

用一段话总结一下SQL SELECT语句完整的执行顺序:

  1. from子句组装来自不同数据源的数据;
  2. where子句基于指定的条件对记录行进行筛选;
  3. group by子句将数据划分为多个分组;
  4. 使用聚集函数进行计算;
  5. 使用having子句筛选分组;
  6. 计算所有的表达式;
  7. 使用order by对结果集进行排序。
  8. select 集合输出。

目录