SQL的执行顺序

(1)from    (表关联,是从后往前、从右到左解析的 ) 所以尽量把数据量大的表放在最左边来进行关联
(2) on     需要从哪个数据表检索数据

(3) join   多表连接时,使用表的别名并把别名前缀于每个Column上。可以减少解析的时间并减少那些由Column 歧义引起的语法错误.

(4) where   过滤表中数据的条件  (解析顺序是自下而上、从右到左 )所以把能筛选出大量数据的条件放在where语句的最下面
(5)group by(开始使用select中的别名,后面的语句中都可以使用)  如何将上面过滤出的数据分组   (执行顺序从左往右分组

1、 如果应用了group by,那么后面的所有步骤都只能得到group by后的列或者是聚合函数(count、sum、avg等)。原因在于最终的结果集中只为每个组包含一行。这一点请牢记。

2、提高GROUP BY 语句的效率, 可以通过将不需要的记录在GROUP BY 之前过滤掉。即在GROUP BY前使用WHERE来过虑,而尽量避免GROUP BY后再HAVING过滤

(6) avg,sum....  聚合函数
(7)having  对上面已经分组的数据进行过滤的条件(很耗资源,尽量少用

避免使用HAVING 子句, HAVING 只会在检索出所有记录之后才对结果集进行过滤. 这个处理需要排序,总计等操作.

(8) select  查看结果集中的哪个列,或列的计算结果 (少用*号,尽量取字段名称

在解析的过程中, 会将依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 使用列名意味着将减少消耗时间。

sql 语句用大写的;因为 oracle 总是先解析 sql 语句,把小写的字母转换成大写的再执行

(9) distinct 
(10) order by 按照什么样的顺序来查看返回的数据 (执行顺序为从左到右排序,很耗资源

sql语句执行顺序及简单优化相关推荐

  1. SQL Server 中SQL语句执行顺序

    SQL Server 中SQL语句执行顺序 我们需要对SQL语句的执行顺序了若指掌,才能更好的理解SQL. SQL 不同于与其他编程语言的最明显特征是处理代码的顺序. 在大数编程语言中,代码按编码顺序 ...

  2. 【转】SQL 语句执行顺序

    From:http://www.jellythink.com/archives/924 Oracle-SQL语句执行原理和完整过程详解:https://wenku.baidu.com/view/398 ...

  3. SQL 语句执行顺序

    From:http://www.jellythink.com/archives/924 Oracle-SQL语句执行原理和完整过程详解:https://wenku.baidu.com/view/398 ...

  4. mysql 执行顺序 SQL语句执行顺序分析

    最近在做一个数据库的大作业,算是复习了下MySql里面比较复杂的一些语句的用法,如Left Join之类的.在这里就不对具体语法进行记录了,希望能在以后经常用到,而不是隔好长时间用一次.在这里就记录下 ...

  5. 整理:sql server 中sql语句执行顺序

    原文地址为: 整理:sql server 中sql语句执行顺序 SQL Server 查询处理中的各个阶段(SQL执行顺序) SQL 不同于与其他编程语言的最明显特征是处理代码的顺序.在大数编程语言中 ...

  6. mysql sql语句执行顺序

    mysql sql语句执行顺序 引言:作为一个程序猿.要想优化sql,首先要明白sql语句的执行顺序.同时防止该死的面试官问一些数据库专业的问题有必要知道这些 sql语句select语句查询顺序 (7 ...

  7. mysql oracle 查询语句执行顺序_MySQL sql语句执行顺序

    (8)     DISTINCT (1)     FROM (3)      JOIN (2)     ON (4)     WHERE (5)     GROUP BY (6)     HAVING ...

  8. 25、Sql语句执行顺序

    sql语句定义和执行顺序 摘自<MySQL技术内幕:SQL编程> sql语句定义的顺序 (1) SELECT (2)DISTINCT<select_list> (3) FROM ...

  9. php语句执行顺序,sql语句执行顺序是什么

    sql语句执行顺序:1.最先执行from tab:2.where语句是对条件加以限定:3.分组语句[group by-- having]:4.聚合函数:5.select语句:6.order by排序语 ...

最新文章

  1. 10.7抛出异常处理
  2. 数学基础学习随笔--序言
  3. SG函数和SG定理(Sprague_Grundy)
  4. mysql数据库唯一性_在MySQL数据库中添加唯一性约束,范围可能吗?
  5. django1.9的static文件配置
  6. 中文字体其实也可以用在网页上的
  7. 内核同步机制-优化屏障和内存屏障
  8. debian重启ssh服务_「原创首发」可视化Linux面板,方便快捷的管理服务器和搭建网站...
  9. MATLAB快速入门(一)
  10. WEB前端助手FeHelper|前端人员的神器
  11. 排错万能金钥匙之Linux系统应用
  12. mysql嵌套查询是从外向内执行的吗_MySQL嵌套查询
  13. 2021年高处安装、维护、拆除复审考试及高处安装、维护、拆除模拟考试题
  14. Umap与 t-sne可视化CNN特征
  15. mysql 关闭防火墙 命令_CentOS7关闭防火墙命令
  16. 心路历程 致正在为梦想奋斗的自己
  17. 各种音视频编解码标准
  18. 中国科学院大学计算机非全日制,中国科学院大学能考非全日制研究生?
  19. 2021年深圳市专精特新中小企业遴选申报指南
  20. strtus1 html5,struts1.x的入门级学习教程

热门文章

  1. 《算法笔记》第4章常用技巧及排序算法
  2. PLC与运动控制器有什么不同?为什么运动控制器比PLC好?
  3. Outlook2019版本的收发邮件设定
  4. 串口重定向(STM32 F411RET6开发版)
  5. 【数据结构】栈-C语言版
  6. kindeditor4.1.10图片上传配置及使用说明
  7. 【Hive】内置函数—日期函数
  8. [车联网安全自学篇] Android安全之移动安全测试指南「安全测试和SDLC」
  9. Lipschitz continuous gradient
  10. 相关性 与 相干性 那些事