- SQL 语句的执行顺序以下方语句作为示例:
(7) SELECT
(8) DISTINCT <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) HAVING <having_condition>
(9) ORDER BY <order_by_condition>
(10) LIMIT <limit_number> - 执行顺序依次为:
- from :确定查询范围
- ON:确定多表联合查询的条件
- JOIN:指定联合哪些数据表
- WHERE :全表查询的筛选条件,生成第一个结果集
- GROUP BY:分组条件,对第一个结果集进行分组,得到第二个结果集
- HAVING :过滤条件,与 group by 连用,对第二个结果集中的每组数据进行筛选过滤,得到第三个结果集
- SELECT:指定获取的列项,得到第四个结果集
- DISTINCT :对指定列进行去重操作
- ORDER BY:对结果集按照指定字段进行排序整理
- LIMIT:对最终结果集进行截取,一般和 offset 连用,可用于分页