7 SELECT
8 DISTINCT
selcet_list
1 FROM
3 JOIN
2 ON
4 WHERE
5 GROUP BY
6 HAVING
9 ORDER BY
10 LIMIT
注:每个步骤都会产生一个虚拟表,用于下一个步骤的输入;如果该步骤则会跳过。
VT:在下文中表示虚拟表(对于客户端是透明的)
1步:FROM 如果有关联则产生两表的笛卡尔积虚拟表VT1
2步:ON 针对 VT1 进行条件过滤,满足条件的保存到VT2中
3步:JOIN 对照关联类型保留外部行 VT3
4步:WHERE 条件判断 VT4
5步:GROUP BY 分组 VT5
6步:HAVING 对分组的VT5过滤条件 VT6
7步:SELECT 查询结果指定 VT7
8步:DISTINCT 去重复 VT8
9步:ORDER BY 排序 VT9
10步:LIMIT VT10
注:个人总结,如有不对的地方,请指教。