数据库家族的族长之争——SQL语句的执行顺序
一个庞大的家族产生了纠纷,就必须有一个人出来评定大局,经过激烈的竞争,我们最后选出了,他就是……
咋们就来说一说SQL语句的执行顺序
我们平常在写SQL语句的时候,经常会用到一些熟悉的字眼,如select,delete,update等等,尽管首个单词是他们,但是!
第一个执行的却不是他们
第一个执行的是 From 关键字后面的语句:明确数据的来源,他是从哪张表取得的,英雄哪能真的不问出处啊;
第二个执行的是 Where 关键字后面的语句:咋们要对他进行筛选,得到咋们想要的东西;
第三个执行的是Group By 关键字后面的语句:咋们筛选出来需要的东西,需要对其进行分组;
第四个执行的是 聚集函数(max,min,avg等)关键字后面的语句:当你排好组了,你需要对其进行计算,找一个老大哥出来镇场子;
第五个执行的是 Having 子句筛选分组:然后组和组之间进行斗争,通过Having这个规则,可以看出最后留下哪个组
第六个执行的是 Select 关键字后面的语句:就是在你分好组的东西里面,选取你所需要的部分;
第七个执行的是 Distinct 关键字:他就是去除组里面重复的东西,防止出现真假美猴王这种情况;
最后执行的是 order By 关键字后面的语句:你已经通过上面的一些关键字得出了你需要的东西,咋们需要按照要求对其进行排序;