第一, from,  选择或者join多个表得到基础数据表,所以,联结是第一步要执行的操作,它在获取最基础的数据表;

第二,where,过滤掉基础数据表中不符合条件的行,得到后续操作的数据表;

第三,group by,对基础数据表进行聚合,如果还有where的话,就在where过滤后的表的基础上进行操作;

第四,having,对聚合后的数据进行操作;

第五,select,返回最终的数据;

第六,order by,对最终的结果进行排序;

第七,limit,限制最终返回的结果的行数,limit一般都是最后起作用的。

 

 

参考资料:

https://www.periscopedata.com/blog/sql-query-order-of-operations