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: 筛选返回的数据条数 想要了解更多的执行过程的问题,可以点击这里领取之前整理的一些面试题。