300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Group By 和 Having Where Order by语句的执行顺序

Group By 和 Having Where Order by语句的执行顺序

时间:2023-11-21 16:33:50

相关推荐

Group By 和 Having  Where  Order by语句的执行顺序

数据库|mysql教程

Group,Having,Where,Order,语句,执行

数据库-mysql教程

php小说网站源码 后台前端,ubuntu画k线图,tomcat7为何还在维护,爬虫攻击网页变慢,php不好找工作了吗,seo正确优化lzw

一个SQL语句往往会产生多个临时视图,那么这些关键字的执行顺序就非常重要了,因为你必须了解这个关键字是在对应视图形成前的字段进行操作还是对形成的临时视图进行操作,这个问题在使用了别名的视图尤其重要。 Group By 和 Having, Where ,Order by这些关键

h5刮刮乐源码,ubuntu更新源 无法,哪里可以下载tomcat,爬虫微景观,php请求接口头,网络seo推广机构seo博客lzw

绿色茶叶网站源码,vscode安装耶使用,ubuntu 禁止关机,tomcat 进程管理,sqlite3表全连接,怎样去除墙角上的爬虫印,php 中文比较,丹东seo推广咨询热线,网站模板文件下载,网页小偷破解版,dedecms 模板解析文件名lzw

一个SQL语句往往会产生多个临时视图,那么这些关键字的执行顺序就非常重要了,因为你必须了解这个关键字是在对应视图形成前的字段进行操作还是对形成的临时视图进行操作,这个问题在使用了别名的视图尤其重要。

Group By 和 Having, Where ,Order by这些关键字是按照如下顺序进行执行的:Where, Group By, Having, Order by。

首先where将最原始记录中不满足条件的记录删除(所以应该在where语句中尽量的将不符合条件的记录筛选掉,这样可以减少分组的次数)

然后通过Group By关键字后面指定的分组条件将筛选得到的视图进行分组

接着系统根据Having关键字后面指定的筛选条件,将分组视图后不满足条件的记录筛选掉

最后按照Order By语句对视图进行排序,这样最终的结果就产生了。

在这四个关键字中,只有在Order By语句中才可以使用最终视图的列名,如:

SELECT FruitName, ProductPlace, Price, ID AS IDE, DiscountFROM T_TEST_FRUITINFOWHERE (ProductPlace = Nchina)ORDER BY IDE

这里只有在ORDER BY语句中才可以使用IDE,其他条件语句中如果需要引用列名则只能使用ID,而不能使用IDE。

PS:

凡是在group by后面出现的字段,必须同时在select后面出现;

凡是在select后面出现的、同时未在聚合函数中出现的字段,必须同时出现在group by后面.

having 子句被限制子已经在SELECT语句中定义的列和聚合表达式上。

(文:程序员之家)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。