SQL Select语句完整的执行顺序

来源:互联网 发布:手机淘宝支付宝怎么用 编辑:程序博客网 时间:2024/05/16 07:11

1from子句组装来自不同数据源的数据;
2
、where子句基于指定的条件对记录行进行筛选;
3
、group by子句将数据划分为多个分组;
4
、使用聚集函数进行计算;
5
、使用having子句筛选分组;
6
、计算所有的表达式;
7
、select 的字段;8、使用order by对结果集进行排序。SQL语言不同于其他编程语言的最明显特征是处理代码的顺序。在大多数据库语言中,代码按编码顺序被处理。但在SQL语句中,第一个被处理的子句式FROM,而不是第一出现的SELECT。SQL查询处理的步骤序号:

  (1)  FROM<left_table> 

(2) ON <join_condition>     http://www.cnblogs.com/wlzhang/p/4532587.html

 

(3) <join_type> JOIN <right_table>

  (4) WHERE <where_condition>


  (5) GROUP BY <group_by_list>         //这里的所有属性必须与select里的非聚合属性一致

  (6) WITH {CUBE | ROLLUP}

  (7) HAVING <having_condition>

  (8) SELECT 

  (9) DISTINCT   //这里可以使用select as 后的别名

  (9) ORDER BY <order_by_list>      //这里可以使用select as 后的别名

  (10) <TOP_specification> <select_list>     //这里可以使用select as 后的别名

 

以上每个步骤都会产生一个虚拟表,该虚拟表被用作下一个步骤的输入。这些虚拟表对调用者(客户端应用程序或者外部查询)不可用。只有最后一步生成的表才会会给调用者。如果没有在查询中指定某一个子句,将跳过相应的步骤。

 
逻辑查询处理阶段简介:

  1
、 FROM:对FROM子句中的前两个表执行笛卡尔积(交叉联接),生成虚拟表VT1。

  2
、 ON:对VT1应用ON筛选器,只有那些使为真才被插入到TV2。

  3
、 OUTER (JOIN):如果指定了OUTER JOIN(相对于CROSS JOIN或INNER JOIN),保留表中未找到匹配的行将作为外部行添加到VT2,生成TV3。如果FROM子句包含两个以上的表,则对上一个联接生成的结果表和下一个表重复执行步骤1到步骤3,直到处理完所有的表位置。

  4
、 WHERE:对TV3应用WHERE筛选器,只有使为true的行才插入TV4。

  5
、 GROUP BY:按GROUP BY子句中的列列表对TV4中的行进行分组,生成TV5。

  6
、 CUTE|ROLLUP:把超组插入VT5,生成VT6。

  7
、 HAVING:对VT6应用HAVING筛选器,只有使为true的组插入到VT7。

  8
、 SELECT:处理SELECT列表,产生VT8。

  9
、 DISTINCT:将重复的行从VT8中删除,产品VT9。

  10
、ORDER BY:将VT9中的行按ORDER BY子句中的列列表顺序,生成一个游标(VC10)。

 11
、TOP:从VC10的开始处选择指定数量或比例的行,生成表TV11,并返回给调用者。
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 两岁宝贝憋尿怎么办 打激素脸胖了怎么办 医生写的病历看不懂怎么办 怀孕尿蛋白3个加怎么办 两周岁宝宝牙齿坏掉怎么办 前列缐炎引起尿血怎么办 牙齿牙根长在神经里怎么办 牙齿杀完神经牙根发炎怎么办 牙齿有大洞好疼怎么办 大门牙有蛀牙了怎么办 大门牙蛀牙黑了怎么办 大门牙蛀牙有洞怎么办 大门牙的缝蛀了怎么办 最里面的牙烂了怎么办 牙齿蛀了个洞怎么办办 牙齿痛怎么办才能治好? 门牙牙齿蛀掉了怎么办 吃了辣的牙齿痛怎么办 牙颈部楔状缺损怎么办 牙齿磨了很疼怎么办 小孩牙有窟窿疼怎么办 西瓜吃多了尿不停怎么办 吃了个西瓜不停拉肚子怎么办 例假完了又来了怎么办 肾上面有个肿瘤怎么办 膀胱壁毛糙增厚怎么办 痔疮手术后尿不出来怎么办 小牛肚一天不尿怎么办 小孩拉肚一直不好怎么办 尿涨但是尿很少怎么办 十四岁尿血医生说是肾炎怎么办 吃肉反胃想吐怎么办 母牛排尿带血尿发烧怎么办 4岁发烧40度怎么办 狗狗拉肚子咳漱哮喘怎么办 拉肚子拉脱水人无力怎么办 孕中期拉稀拉水怎么办 吃坏肚子拉稀水怎么办 手上起小疙瘩疼怎么办 手上长东西很痛怎么办 七八十斤猪拉稀怎么办