现在的位置: 首页 > 综合 > 正文

Group By 和 Having, Where ,Order by语句的执行顺序(转载)

2012年06月08日 ⁄ 综合 ⁄ 共 444字 ⁄ 字号 评论关闭

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

以上列举的关键字是按照如下顺序进行执行的:Where, Group By, Having, Order by。

首先where将最原始记录中不满足条件的记录删除(所以应该在where语句中尽量的将不符合条件的记录筛选掉,这样可以减少分组的次数),然后通过Group By关键字后面指定的分组条件将筛选得到的视图进行分组,接着系统根据Having关键字后面指定的筛选条件,将分组视图后不满足条件的记录筛选掉,然后按照Order By语句对视图进行排序,这样最终的结果就产生了。

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

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/badbad_boy/archive/2009/04/07/4054515.aspx

抱歉!评论已关闭.