第一, from, 选择或者join多个表得到基础数据表,所以,联结是第一步要执行的操作,它在获取最基础的数据表;
第二,where,过滤掉基础数据表中不符合条件的行,得到后续操作的数据表;
第三,group by,对基础数据表进行聚合,如果还有where的话,就在where过滤后的表的基础上进行操作;
第四,having,对聚合后的数据进行操作;
第五,select,返回最终的数据;
第六,order by,对最终的结果进行排序;
第七,limit,限制最终返回的结果的行数,limit一般都是最后起作用的。
参考资料:
https://www.periscopedata.com/blog/sql-query-order-of-operations