sql语句的执行顺序

sql语句的执行顺序

了解sql语句的执行顺序对于优化sql很重要,那么sql语句的执行顺序是怎样的呢?让我们用一个简单的语句来分析它:

图片[1]-sql语句的执行顺序-唐朝资源网

这个语句包含了一些我们经常使用的关键字,from、where、group by、order by,其执行顺序如下:

先执行from关键字后面的语句,明确数据的来源和获取自哪个表。

然后执行where关键字后面的语句过滤数据。

然后执行group by后面的语句js 语句按顺序执行,对数据进行分组和分类。

然后执行下面的语句,即取处理后的数据的哪一部分。

最后执行order by后的语句,对最终结果进行排序。

关于这个顺序,我们可以用别名来判断:

图片[2]-sql语句的执行顺序-唐朝资源网

图片[3]-sql语句的执行顺序-唐朝资源网

左图取别名sex,然后在order by后面使用别名,可以正常找到数据,说明order by的执行是after。看右图,作者也是用group by后的性别别名。点击查询后提示错误:列名’sex’无效。说明group by的执行是之前的。

到目前为止,我们已经有了一个初步的结论 group by >> order by。

接下来,作者还为表取了一个别名,然后在where和group后面引用了这个别名。

图片[4]-sql语句的执行顺序-唐朝资源网

sql正常执行,表示where和group by语句都在from语句之后执行。即from > where and from > group by

最后只剩下where和group by的比较了。这不能通过表别名来判断。我目前在想的是“常识”。这个常识就是:where用于分组前过滤,where用于分组后过滤。可以看出where的执行在group by之前js 语句按顺序执行,即where>group by。

根据数学知识,由

分组方式>>排序方式

从>哪里

来自 > 分组

在哪里 > 分组

您可以从 > where > group by > > order by 获取。这是一个基本sql的执行顺序。

© 版权声明
THE END
喜欢就支持一下吧
点赞257 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片