`
student_lp
  • 浏览: 428578 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

了解sql执行顺序

阅读更多

下面是mysql的sql执行步骤(标准sql肯定相同,只是有一些mysql的扩展)。

(8)select (9)distinct <slect_list>

(1)from <left_table>

(3)<join_type>join<right_table>

(2)on<join_condition>

(4)where<where_condition>

(5)group by<group_by_list>

(6)with[cube|rollup]

(7)having<having_condition>

(10)order by<order_by_list>

(11)limit<limit_number>

每步都会产生一张虚拟表,作为下一步的输入。

1,from:对左表和右表执行笛卡尔积得表1;

2,on:对表1进行过滤得表2;

3,join:如果是outer join,将保留表未匹配的记录添加至表2得表3,如果是多张表连接重复步骤1-3得表3;

4,where:过滤表3得表4;

5,group by:对表4进行分组得表5;

6,cube|rollup:对表5进行cube或rollup操作得表6;

7,having:对表6进行having过滤得表7;

8,select:执行select操作得表8;

9:distinct:去除重复记录得表9;

10:order by:将表9进行排序等游标10(sql是集合思想,实际不产生表,返回一个游标对象,标准sql中唯一可使用列别名的子句,因为别名是select字句,但mysql对标准sql扩展group by,order by, having都可以使用列别名);

11:limit:取出指定行得表11,返回。

标准sql因为order by不返回表,所以使用order by子句的查询不能用作表表达式(视图、子查询、派生表、内联表值函数等),但mysql扩展可以使用。

分享到:
评论

相关推荐

    SQL语句执行深入讲解(MySQL架构总览-查询执行流程-SQL解析顺序)

    本文将从MySQL总体架构—&gt;查询执行流程—&gt;语句执行顺序来探讨一下其中的知识。 一、MySQL架构总览: 架构最好看图,再配上必要的说明文字。 下图根据参考书籍中一图为原本,再在其上添加上了自己的理解。   从...

    SQL语句执行顺序图文介绍

    本文将详细介绍数据库总结--SQL语句执行顺序,需要了解更多的朋友可以参考下

    浅谈SQL语句的执行过程

    写在前面的话:有时不理解SQL语句各个部分执行顺序,导致理解上出现偏差,或者是书写SQL语句时随心所欲,所以有必要了解一下sql语句的执行顺序。可以有时间自己写一个简单的数据库,理解会更加深入。下面写写我的...

    简单了解MySQL SELECT执行顺序

    SELECT语句的完整语法为: (7) SELECT (8) DISTINCT &lt;select_list&gt; (1) FROM (3) &lt;join&gt; JOIN (2) ON (4) WHERE (5) GROUP BY (6) HAVING (9) ORDER BY ...说明:语法前面的序号为SELEC

    数据库总结–SQL语句执行顺序

     关于Oracle,我们都已经学习了SQL语句,那么Oracle其实已经学习了一大半,接下来自己学习Oracle主要是看一下他的概念,Oracle和SQL Server还是有很大不同的,熟悉他的表空间这些概念,了解他的图形界面,和备份...

    SQL语句到底是怎么执行的

    写在前面的话:有时不理解SQL语句各个部分执行顺序,导致理解上出现偏差,或者是书写SQL语句时随心所欲,所以有必要了解一下sql语句的执行顺序。可以有时间自己写一个简单的数据库,理解会更加深入。下面写写我的...

    从零开始学习SQL查询语句执行顺序

    sql语言中的查询的执行顺序,以前不是很了解,最近查阅了相关资料,在sql语言中,第一个被处理的字句总是from字句,最后执行的limit操作,现在小编来和大家一起学习一下

    有关mysql中sql的执行顺序的小问题

    在MySQL中我们可能会遇到一些关于执行顺序的问题,下面小编就来带大家了解一下原因以及如何解决

    步步深入:MySQL架构总览->查询执行流程->SQL解析顺序

    语句执行顺序来探讨一下其中的知识。从上图中我们可以看到,整个架构分为两层,上层是MySQLD的被称为的‘SQL Layer’,下层是各种各样对上提供接口的存储引擎,被称为‘StorageEngineLayer’。其它各个模块和组件,...

    Spring 中jdbcTemplate 实现执行多条sql语句示例

    本篇文章主要介绍了Spring 中jdbcTemplate 实现执行多条sql语句示例,可以对多个表执行多个sql语句,有兴趣的可以了解一下。

    SQL培训第一期

    1 SQL基础 1.1 基本概念 结构化查询语言(Structured Query Language)简称SQL,是一种关系数据库查询语言,用于存取数据以及查询、更新和管理关系数据库系统。 1.2 语句结构 1.2.1 数据查询语言(DQL) 对数据库进行...

    简单了解mysql语句书写和执行顺序

    mysql语句的书写顺序和执行顺序有很大差异。 书写顺序,mysql的一般书写顺写为: select &lt;要返回的数据列&gt; from &lt;表名&gt; &lt;join&gt; join on where group by &lt;分组条件&gt; having &lt;分组后的筛选条件&gt; ...

    SQL Server 2008管理员必备指南(超高清PDF)Part3

    使用SQL Server Management Studio执行主要的管理任务 操作架构、表、索引和视图 进行自动化维护和实现基于策略的管理 监视服务器活动并优化性能 管理日志传送和数据库镜像 执行备份和还原 《微软技术丛书》包括以下...

    SQL.Server.2008管理员必备指南.part4.rar(4/4)

     使用SQL Server Management Studio执行主要的管理任务  操作架构、表、索引和视图  进行自动化维护和实现基于策略的管理  监视服务器活动并优化性能  管理日志传送和数据库镜像  执行备份和还原  《微软技术...

    SQL Server 2008管理员必备指南(超高清PDF)Part1

    使用SQL Server Management Studio执行主要的管理任务 操作架构、表、索引和视图 进行自动化维护和实现基于策略的管理 监视服务器活动并优化性能 管理日志传送和数据库镜像 执行备份和还原 《微软技术丛书》包括以下...

    SQL Server 2008管理员必备指南(超高清PDF)Part2

    使用SQL Server Management Studio执行主要的管理任务 操作架构、表、索引和视图 进行自动化维护和实现基于策略的管理 监视服务器活动并优化性能 管理日志传送和数据库镜像 执行备份和还原 《微软技术丛书》包括以下...

    SQL.Server.2008管理员必备指南.part2.rar(2/4)

     使用SQL Server Management Studio执行主要的管理任务  操作架构、表、索引和视图  进行自动化维护和实现基于策略的管理  监视服务器活动并优化性能  管理日志传送和数据库镜像  执行备份和还原  《微软技术...

Global site tag (gtag.js) - Google Analytics