SQL执行步骤的具体分析
作者:牧师-Panda 发布时间:2024-01-17 15:47:54
标签:SQL,执行步骤
SQL执行步骤的具体分析
先来看执行语句的顺序
(8)select (9)distinct A (1)from Ta (3)join Tb
(2)on XXX (4)where XXX (5)group by XXX (6)with
{cube|roll up} (7)having XXX (10)order by XXX (11)limit XXX
接着我们看一下具体分析查询处理的各个阶段:
FROM 对from子句中的左表和右表执行笛卡尔集,产生虚拟表VT1
ON 对虚拟表VT1进行on筛选,只有那些符合join condition的行才 * 入虚拟表VT2中
JOIN 如果指定了outer join,那么保留表中未匹配的行作为外部行添加到虚拟表VT2中,产生虚拟表VT3。如果from子句包含两个以上的表,则对上一个连接生成的结果表中VT3和下一个表重复执行步骤1~步骤3,直到处理完所有的表为止。
WHERE 对虚拟表VT3进行where过滤条件,只有符合条件的才 * 入到虚拟表VT4中。
GROUP BY 根据group by子句中的列,对VT4中的记录进行分组操作,产生VT5.
CUBE|ROLL UP 对表VT5进行CUBE或者ROLLUP操作,产生表VT6.
HAVING 对虚拟表VT6应用having过滤器,只有符合条件的记录才会 * 入到虚拟表VT7中
SELECT 第二次执行select操作,选择指定的列,插入到虚拟表VT8中。
DISTINCT 去除重复数据,产生虚拟表VT9。
ORDER BY 将虚拟表VT9中的记录按照指定的要求进行排序操作,产生虚拟表VT10
LIMIT 取出指定行的记录,产生虚拟表VT11,并返回给查询用户
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
来源:https://my.oschina.net/hunglish/blog/1239916


猜你喜欢
- import os import sys import string #以指定模式打开指定文件,获取文件句柄 def getFileIns(
- 1.比喻 如同Windows用桌面、文件夹、垃圾筒来比喻计算机的*作,Web的设计也是如此。善于利用明确、抽象或概念化的比喻ICON来表达各
- 前言当我们遇到慢sql,第一反应可能就是去优化我们的sql语句。一些比较复杂的语句如果执行慢可能还能理解,但是有时一些特别简单的查询也会变得
- 1、前言函数也是一个对象,从而可以增加属性,使用句点来表示属性。如果内部函数的定义包含了在外部函数中定义的对象的引用(外部对象可以是在外部函
- matplotlib制作简单的动画动画即是在一段时间内快速连续的重新绘制图像的过程.matplotlib提供了方法用于处理简单动画的绘制:i
- 前序、中序和后序表达式是什么?对于像B∗C 这样的算术表达式,可以根据其形式来正确地运算。在B∗
- 本文实例为大家分享了python实现二维数组的对角线遍历,供大家参考,具体内容如下第一种情况:从左上角出发,右下角结束要完成的事情,就像下图
- 这里提供三种方法:1,使用正则表达式Function regKillHTML(str) &nb
- 问题描述 windows错误安装方法:pip3 install numpy这种情况下虽然安装成功,但是在import numpy时会出现如下
- 登录注册是几乎所有网站都需要去做的接口,而说到登录,自然也就涉及到验证以及用户登录状态保存,最近用DRF在做的一个关于网上商城的项目中,引入
- 1、什么是版本控制系统版本控制是一种记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况的系统。版本控制系统不仅可以应用于软件源代码的
- 一、实验目的:1.掌握Python中柱状图、条形图绘图函数的使用2.利用上述绘图函数实现数据可视化二、实验内容:1.练习python中柱状图
- 介绍 append()语法list.append( element )参数element:任何类型的元素列表「末尾」添加元素nam
- 简介pandas按条件筛选数据时,除了使用query()方法,还可以使用isin和对isin取反进行条件筛选.代码 import panda
- 在用户体验这个行业,经常会听到,可用性,可访问性这样专业的名词,但是,事实上在很多产品实现过程里都忽略了这一点!WHY?举个很简单的例子,用
- 背景目前手上有一个小程序的项目,希望转发时分享消息的界面能够自定义,然而微信小程序只提供设置图片的url和title。 /**
- python3 在服务器上打印资产信息pip3 install prettytableurl 为 资产信息接口地址,返回为json信息。#
- 在ASP中使用FSO组件生成HTML静态页面,共有两个页面index.htm是首页.程序比较简单,主要是用了ASP里的文件操作
- 选中需要操作的字符Ctrl + R 替换Ctrl + Shift + F 全局查找Ctrl + Shift + R 全局替换来源:http:
- Softmax原理Softmax函数用于将分类结果归一化,形成一个概率分布。作用类似于二分类中的Sigmoid函数。对于一个k维向量z,我们