SQL语句执行顺序图文介绍
大家好,我们的数据库已经介绍完了,这里给大家总结一下。
我们这段主要是学习了SQL的增删改查语句,其中查询是我们的重点。我们是以SQL Server 2005来学习的SQL语句,关于SQL Server的图形界面操作,和关于视图、数据库备份还原这些大家下来要下来看一下。
关于Oracle,我们都已经学习了SQL语句,那么Oracle其实已经学习了一大半,就接下来自己学习Oracle主要是看一下他的概念,Oracle和SQL Server还是有很大不同的,熟悉他的表空间这些概念,了解他的图形界面,和备份还原等操作。如果想要继续学习可以看一下MLDN李兴华老师的Oracle视频。自己下来看一下《Oracle9i参考手册》。
好,今天的总结我主要想要介绍一下SQL语句(主要是Select)执行的顺序,了解了这个就可以知道为什么where里不能有聚合函数了。
我画了一个图,画的不太好了
从这个图里我们就可以看出来,为什么where里不能包含聚合函数了吧,因为SQL是先执行where后执行聚合函数,如果where里含有聚合函数,那么这时聚合函数还没有执行,也就没有结果供where使用了。大家好好消化一下这个图。
相关推荐
-
SQL语句执行顺序详解
我们做软件开发的,大部分人都离不开跟数据库打交道,特别是erp开发的,跟数据库打交道更是频繁,由于SQL 不同于与其他编程语言的最明显特征是处理代码的顺序.在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是FROM子句,尽管SELECT语句第一个出现,但是几乎总是最后被处理. 每个步骤都会产生一个虚拟表,该虚拟表被用作下一个步骤的输入.这些虚拟表对调用者(客户端应用程序或者外部查询)不可用.只是最后一步生成的表才会返回 给调用者.如果没有在查询中指定某一子句,将跳过
-
sql和MySQL的语句执行顺序分析
今天遇到一个问题就是mysql中insert into 和update以及delete语句中能使用as别名吗?目前还在查看,但是在查阅资料时发现了一些有益的知识,给大家分享一下,就是关于sql以及MySQL语句执行顺序: sql和mysql执行顺序,发现内部机制是一样的.最大区别是在别名的引用上. 一.sql执行顺序 (1)from (2) on (3) join (4) where (5)group by(开始使用select中的别名,后面的语句中都可以使用) (6) avg,sum....
-
SQL语句执行顺序图文介绍
大家好,我们的数据库已经介绍完了,这里给大家总结一下. 我们这段主要是学习了SQL的增删改查语句,其中查询是我们的重点.我们是以SQL Server 2005来学习的SQL语句,关于SQL Server的图形界面操作,和关于视图.数据库备份还原这些大家下来要下来看一下. 关于Oracle,我们都已经学习了SQL语句,那么Oracle其实已经学习了一大半,就接下来自己学习Oracle主要是看一下他的概念,Oracle和SQL Server还是有很大不同的,熟悉他的表空间这些概念,了解他的图形界面,
-
SQL语句执行深入讲解(MySQL架构总览->查询执行流程->SQL解析顺序)
前言: 一直是想知道一条SQL语句是怎么被执行的,它执行的顺序是怎样的,然后查看总结各方资料,就有了下面这一篇博文了. 本文将从MySQL总体架构--->查询执行流程--->语句执行顺序来探讨一下其中的知识. 一.MySQL架构总览: 架构最好看图,再配上必要的说明文字. 下图根据参考书籍中一图为原本,再在其上添加上了自己的理解. 从上图中我们可以看到,整个架构分为两层,上层是MySQLD的被称为的'SQL Layer',下层是各种各样对上提供接口的存储引擎,被称为'Storage Engin
-
从零开始学习SQL查询语句执行顺序
SQL查询语句执行顺序如下: (7) SELECT (8) DISTINCT <select_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) HAVING <having_
-
一文告诉你Sql的执行顺序是怎样的
学过 Sql,或了解过 Sql 的人,应该都会写下面这行代码: select * from t 上面代码表示查询 t 表中的所有信息,是 Sql 查询中最基础,最简单的一行代码,你可以把它理解成是其他编程语言中的Hello World. select *只是你迈入 Sql 大门的第一步,在真实工作中,肯定不止这么简单的.我们来看一个例子. 现在有下面一个表 t ,存储了每个商品类别的成交明细,我们需要通过下面这张表获取订单量大于10对应的类别,并从中取出订单量前3的商品类别,会有一些测试的订单(
-
一条 SQL 语句执行过程
目录 一.MySQL体系架构 -连接池组件 -缓存组件 -分析器 -优化器 -执行器 二.写操作执行过程 三.读操作执行过程 四.SQL执行顺序 一.MySQL 体系架构 - 连接池组件 1.负责与客户端的通信,是半双工模式,这就意味着某一固定时刻只能由客户端向服务器请求或者服务器向客户端发送数据,而不能同时进行. 2.验证用户名和密码是否正确(数据库 MySQL 的 user 表中进行验证),如果错误返回错误通知Access denied for user 'root'@'localhost'
-
MySQL 语句执行顺序举例解析
目录 1.SQL数据举例 my_user 表数据 my_order数据 测试数据生成 2.SQL的执行顺序 1.SQL数据举例 举例:有10个用户,输出在订单表中下单数最多的5个人的名字. my_user 表数据 my_order数据 my_order,uid对应my_user表的id: 测试数据生成 写一个存储过程,随机插入10000条数据: CREATE DEFINER=`root`@`localhost` PROCEDURE `test_loop`( ) BEGIN DECLARE i I
-
MySql中sql语句执行过程详细讲解
目录 前言: sql语句的执行过程: 查询缓存: 分析器: 优化器: 执行器: 总结 前言: 很多人都在使用mysql数据库,但是很少有人能够说出来整个sql语句的执行过程是怎样的,如果不了解执行过程的话,就很难进行sql语句的优化处理,也很难设计出来优良的数据库表结构.这篇文章主要是讲解一下sql语句的执行过程. sql语句的执行过程: 客户端.连接器.分析器.优化器.执行器.存储引擎几个阶段. 连接器的作用:管理链接.权限验证的处理. 分析器的作用:词法分析.语法分析. 优化器的作用:执行计
-
腾讯面试:一条SQL语句执行得很慢的原因有哪些?---不看后悔系列(推荐)
说实话,这个问题可以涉及到 MySQL 的很多核心知识,可以扯出一大堆,就像要考你计算机网络的知识时,问你"输入URL回车之后,究竟发生了什么"一样,看看你能说出多少了. 之前腾讯面试的实话,也问到这个问题了,不过答的很不好,之前没去想过相关原因,导致一时之间扯不出来.所以今天,我带大家来详细扯一下有哪些原因,相信你看完之后一定会有所收获,不然你打我. 开始装逼:分类讨论 一条 SQL 语句执行的很慢,那是每次执行都很慢呢?还是大多数情况下是正常的,偶尔出现很慢呢?所以我觉得,我们还得
随机推荐
- SeaJS入门教程系列之SeaJS介绍(一)
- 在Ajax中使用Flash实现跨域数据读取的实现方法
- 离22周岁距离多长时间的计算[适合没到22周岁的朋友]
- JavaScript prototype 使用介绍
- vbs引用另一个vbs的代码
- Mybatis常用分页插件实现快速分页处理技巧
- 如何清除IE10+ input X 文本框的叉叉和密码输入框的眼睛图标
- 发布一个高效的JavaScript分析、压缩工具 JavaScript Analyser
- C#操作txt文件,进行清空添加操作的小例子
- 抓取并下载CSS中所有图片文件的php代码
- linux下mysql5.7.17最新稳定版本安装教程
- Android SQLite数据库增删改查操作的案例分析
- js中创建对象的几种方式
- js for循环,为什么一定要加var定义i变量
- Ruby、PHP、Shell实现求50以内的素数
- Linux shell tr 命令详解
- nodejs读取memcache示例分享
- Android local.properties 文件读取实例详解
- 简单谈谈android studio 的单元测试
- 什么血型的人招蚊子咬??