数据库语句的执行顺序

2.1、数据库语句的执行顺序 

(一): 执行顺序  from -> on -> join -> where -> group by -> having -> count(聚合函数) -> select -> distinct -> order by -> limit 

(二): 执行步骤解释: 

(1)、from: 表示数据的来源 

(2)、on: 表示数据的关联表,执行完后生成一个临时表t1,提供给下一步的操作使用 

(3)、join: 将join表的数据补充到on执行完成的临时表t1中,如: left join则将坐标剩余的数据添加到临时表t1中,如果join超过3个,则重复on...join之间的步骤。 

(4)、where: 根据携带的条件,从临时表中筛选出符合条件的数据,并生成临时表t2。

(5)、groub by: 根据携带的条件,将临时表t2进行相应的数据分组,并形成临时表t3,如果语句包含了group by则它后面的字段必须出现在select中或者出现在聚合函数中,否则会报SQL语法错误。 

(6)、having: 筛选分组后临时表t3的数据,得到临时表t4。 

(7)、count等聚合函数: 对临时表进行指定字段的聚合函数操作,形成临时表t5。 

(8)、select: 从临时表筛选出需要返回的数据,形成临时表t6。 

(9)、distinct: 对临时表t6进行指定的去重筛选,形成临时表t7。

(10)、order by: 对临时表t7排序,形成临时表t8。 

(11)、limit: 筛选返回的数据条数  想要了解更多的执行过程的问题,可以点击这里领取之前整理的一些面试题。

原文地址:https://www.cnblogs.com/thomasbc/p/15528673.html