查询的逻辑执行顺序
(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>
(8)SELECT
(9) DISTINCT (11)< top_specification> < select_list>
(10) ORDER BY <order_by_list>
标准的SQL 的解析顺序为:
(1).FROM子句 组装来自不同数据源的数据
(2).WHERE子句 基于指定的条件对记录进行筛选
(3).GROUPBY 子句 将数据划分为多个分组
(4).使用聚合函数进行计算
(5).使用HAVING子句筛选分组
(6).计算所有的表达式
(7).使用ORDERBY对结果集进行排序