SQL执行顺序和流程
(1) FROM: 对FROM子句中的左表
<left_table>
和右表<right_table>
执行笛卡儿积,产生虚拟表VT1;
(2) ON: 对虚拟表VT1进行ON筛选,只有那些符合<join_condition>
的行才被插入,产生虚拟表VT2; (3)
JOIN: 如果指定了OUTER JOIN
(如LEFT OUTER JOIN、RIGHT OUTER
JOIN),那么保留表中未匹配的行作为外部行添加到虚拟表VT2,产生虚拟表VT3。如果FROM子句包含两个以上的表,则对上一个连接生成的结果表VT3和下一个表重复执行步骤1~步骤3,直到处理完所有的表;
(4) WHERE: 对虚拟表VT3应用WHERE过滤条件,只有符合<where_condition>
的记录才会被插入到VT4; (5)
GROUP By: 根据GROUP BY子句中的列,对VT4中的记录进行分组操作,产生VT5; (6) CUBE|ROllUP:
对VT5进行CUBE或ROLLUP操作,产生VT6; (7) HAVING:
对虚拟表VT6应用HAVING过滤器,只有符合<having_condition>
的记录才会被插入到VT7; (8) SELECT:
第二次执行SELECT操作,选择指定的列,插入到虚拟表VT8中; (9) DISTINCT: 去除重复,得到虚拟表VT9; (10)
ORDER BY: 将虚拟表VT9中的记录按照<order_by_list>
进行排序操作,得到虚拟表VT10; (11) LIMIT:
取出指定行的记录,产生虚拟表VT11,并返回给查询用户
SQL执行顺序和流程相关推荐
- Spark SQL执行流程解析之 sql执行顺序
一.Spark SQL模板解析 Spark Sql 关键字执行顺序跟Sql执行顺序类似: 1.先将from前两表做笛卡尔积加载进来形成虚拟表vt1, 2.on条件后为真的插入虚拟表形成vt2, 如果包 ...
- MySQL高级 - SQL技巧 - SQL执行顺序及正则表达式
SQL执行顺序 编写顺序 SELECT DISTINCT<select list> FROM<left_table> <join_type> JOIN<rig ...
- SQL 执行顺序图解
目录 执行顺序 数据的关联过程 执行顺序 这是一条标准的查询语句: 这是我们实际上SQL执行顺序: 我们先执行from,join来确定表之间的连接关系,得到初步的数据 where对数据进行普通的初步的 ...
- Hive 优化--SQL执行顺序、Hive参数、数据倾斜 、小文件优化
优化整体思路 如果资源充足就加资源加内存, 调度链路优化,调整调度顺序,时效性要求高的模型先产出, 数据接入模块,调优数据接入工具sqoop,datax 模型设计质量不高,调整模型,提高质量和复用度, ...
- sql笔记1:sql执行优先级和casewhen用法、sql执行顺序
MySQL 语句中执行优先级--and比or高 例: select * from table where 条件1 AND 条件2 OR 条件3 等价于 select * from table wher ...
- java程序基础——SQL执行顺序
SQL执行顺序 1.from 2.join 3.on 4.where 5. group by(开始使用select中的别名,后面的语句中都可 以使用) 6.avg,sum.... 7.having 8 ...
- 数据库笔记-sql执行顺序以及检索优先级
sql 执行顺序优先级由高到低依次是: from 关键字后面的语句. where 关键字后面的语句." group by "后面的语句. select 后面的语句." o ...
- SQL语句的执行顺序以及流程
目录 1.执行FROM语句 2.执行ON过滤 3.添加外部行 4.执行WHERE过滤 5.执行GROUP BY分组 6.执行HAVING过滤 7.SELECT列表 8.执行DISTINCT子句 9.执 ...
- sql语句的执行顺序以及流程(最新,最全,直接用)
熟练掌握sql语句的执行顺序,才能避免编程中各种bug和错误. 文章目录 一.Select 语句完整的执行顺序 1.from 子句组装来自不同数据源的数据+(ON过滤器)或(JOIN 添加外部行): ...
最新文章
- 基于GPUImage的多滤镜rtmp直播推流
- 使用Xshell连接Linux服务器
- 甘肃农业大学计算机基础A,2021甘肃农业大学计算机基础专业研究生考试大纲
- Linux网络编程 | 事件处理模式:Reactor模式、Proactor模式
- mysql -u 报错_MySQL报错解决!
- NA-NP-IE系列实验5:配置文件的备份和IOS 的备份
- python连接access数据库odbc_对Python通过pypyodbc访问Access数据库的方法详解
- C++模板类嵌套类内部类局部类的区别
- IPv6与IPv4比较
- java 执行多个查询语句_用java在单个语句中执行的多个查询
- 【报告分享】科技抗疫,5G助力:5G通信为公共卫生防控诊疗体系带来的新契机.pdf...
- Hawkeye - The .Net Runtime Object Editor
- notepad 快速新建html,notepad编写html
- 莫烦PYTHON | Tensorflow教程——Tensorflow简介(第一章)
- 打印机与计算机无法进行通讯,打印时电脑提示:“打印机不能与计算机进行通讯”是为什么啊?是电脑出现问题还是打印机出现问题了?...
- AI算法 - 粒子滤波
- Rax新手入门 - 快速构建多端应用
- 计算机中专实训方案,中职学校计算机专业实训模式初探
- 【python】如何画简单的图
- GatewayWorker 与 Workerman的关系