select语句的执行顺序

1.语法顺序

select语句的语法格式如下。
select 字段列表
from 数据源
[ where条件表达式 ]
[ group by 分组字段 ]
[ having条件表达式 ]
[ order by 排序字段 [ asc | desc ] ]

2.执行顺序

FROM  对FROM的左边的表和右边的表计算笛卡尔积。产生虚表VT1

ON       对虚表VT1进行ON筛选,只有那些符合的行才会被记录在虚表VT2中。

JOIN   如果指定了OUTER JOIN(比如left join、 right join),那么保留表中未匹配的行就会作为外部行添加到虚拟表VT2中,产生虚拟表VT3, rug from子句中包含两个以上的表的话,那么就会对上一个join连接产生的结果VT3和下一个表重复执行步骤1~3这三个步骤,一直到处理完所有的表为止。


WHERE  对虚拟表VT3进行WHERE条件过滤。只有符合的记录才会被插入到虚拟表VT4中。


GROUP BY  根据group by子句中的列,对VT4中的记录进行分组操作,产生VT5.

WITH CUBE or WITH ROLLUP  对表VT5进行cube或者rollup操作,产生表VT6.

HAVING  对虚拟表VT6应用having过滤,只有符合的记录才会被 插入到虚拟表VT7中。


SELECT  执行select操作,选择指定的列,插入到虚拟表VT8中。


DISTINCT  对VT8中的记录进行去重。产生虚拟表VT9.

ORDER BY  将虚拟表VT9中的记录按照<order_by_list>进行排序操作,产生虚拟表VT10.

TOP 取出指定行的记录,产生虚拟表VT11, 并将结果返回。

这些步骤执行时,每个步骤都会产生一个虚拟表,该虚拟表被用作下一个步骤的输入.这些虚拟表对调用者(客户端应用程序或者外部查询)不可用。只是最后一步生成的表才会返回给调用者。
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/67400.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 设计模式之桥接模式

什么是桥接模式 桥接模式是一种结构设计模式&#xff0c;它的目标是将抽象部分与实现部分分离&#xff0c;使它们可以独立地变化。这种模式通过将继承关系改为组合关系来实现解耦。 在Java中&#xff0c;桥接模式的实现通常涉及两个层次结构&#xff1a;抽象类和具体实现类。…

如何快速搭建母婴行业的微信小程序?

如果你想为你的母婴行业打造一个独特的小程序&#xff0c;但没有任何编程经验&#xff0c;别担心&#xff01;现在有许多小程序制作平台提供了简单易用的工具&#xff0c;让你可以轻松地建立自己的小程序。接下来&#xff0c;我将为你详细介绍搭建母婴行业小程序的步骤。 首先&…

[unity]三角形顶点顺序

序 详见官方文档&#xff1a;Unity - Manual: Mesh data (unity3d.com) Topology&#xff1a;拓扑结构 翻译&#xff1a; 拓扑描述网格具有的面类型。 网格的拓扑定义了索引缓冲区的结构&#xff0c;索引缓冲区又描述了顶点位置如何组合成面。每种类型的拓扑都使用索引数组中…

Django实现音乐网站 ⒂

使用Python Django框架制作一个音乐网站&#xff0c; 本篇主要是歌手详情页-基本信息、单曲列表功能开发实现内容。 目录 歌手基本信息 增加路由 显示视图 模板显示 推荐歌手跳转详情 歌手增加基本信息 表模型增加字段 数据表更新 基本信息增加内容渲染 歌手单曲列表…

SpringMVC入门指南

目录 前言 一、什么是SpringMVC 二、MVC架构模式 三、SpringMVC的工作流程 四、SpringMVC核心组件 五、SpringMVC的优势 六、SpringMVC的配置与常用注解 七、SpringMvc请求处理流程、 控制器的编写 、视图的渲染 1.请求处理流程&#xff1a; 2.控制器的编写&#xff1…

优化Docker权限管理:配置Docker用户组

Docker 利用 Linux 的用户和组权限来管理对 Docker 守护进程的访问权限。一般情况下&#xff0c;只有 root 用户和属于 docker 用户组的用户才被允许访问 Docker 守护进程。在 Linux 系统上使用 Docker 时&#xff0c;如果您尚未配置 docker 用户组&#xff0c;那么作为非 root…

应广单片机实现跑马灯

应广单片机处处体现其mini的特性&#xff0c;非常适合做各种方案开发&#xff0c;特别是点灯&#xff0c;什么跑马灯&#xff0c;氛围灯&#xff0c;遥控灯&#xff0c;感应灯&#xff0c;拍拍灯等&#xff0c;用应广都OK。 跑马灯是基础中的基础&#xff0c;我搭了一个框架&am…

12. 微积分 - 梯度积分

Hi,大家好。我是茶桁。 上一节课,我们讲了方向导数,并且在最后留了个小尾巴,是什么呢?就是梯度。 我们再来回看一下但是的这个式子: [ f x f y

【大模型】自动化问答生成:使用GPT-3.5将文档转化为问答对

自动化问答生成&#xff1a;使用GPT-3.5将文档转化为问答对 正文步骤1&#xff1a;准备工作步骤2&#xff1a;编写Python脚本 总结 当我们需要将大段文档转化为问答对时&#xff0c;OpenAI的GPT-3.5模型提供了一个强大的工具。这个教程将向您展示如何编写一个Python脚本&#x…

高斯噪声(Gaussian noise)

摘要 高斯噪声&#xff0c;也称为白噪声或随机噪声&#xff0c;是一种符合高斯&#xff08;正态&#xff09;分布的随机信号或干扰。它的特点是在所有频率上具有恒定的功率谱密度&#xff0c;使其在不同频率上呈现出等能量的随机波动。 从实际角度来看&#xff0c;高斯噪声是…

css强制显示一行

要强制将文本内容显示在一行中&#xff0c;可以使用CSS的white-space属性和overflow属性来实现。 首先&#xff0c;将white-space属性设置为nowrap&#xff0c;这样文本内容就不会换行。然后&#xff0c;将overflow属性设置为hidden&#xff0c;这样超出一行的内容就会被隐藏起…

SpringCloud(36):Nacos服务发现基础应用

1 服务发现数据模型 Nacos在经过阿里内部多年生产经验后提炼出的数据模型,则是一种服务-集群-实例的三层模型,这样基本可以满足服务在所有场景下的数据存储和管理。 命名空间(Namespace) 用于进行租户粒度的配置隔离,命名空间不仅适用于nacos的配置管理,同样适用于服务发…

【Vue】集成百度地图

Vue 集成 百度地图 1、获取百度地图 ak 密钥 2、登录网址 https://lbsyun.baidu.com/ 3、注册百度地图开放平台账号&#xff0c;填写认证信息&#xff0c;并且创建应用 安装 npm install vue-baidu-map --savemain.js import BaiduMap from vue-baidu-map;Vue.use(BaiduM…

【Windows 常用工具系列 11 -- 笔记本F5亮度调节关闭】

文章目录 笔记本 F 按键功能恢复 笔记本 F 按键功能恢复 使用笔记本在进行网页浏览时&#xff0c;本想使用F5刷新下网页&#xff0c;结果出现了亮度调节&#xff0c;如下图所示&#xff1a; 所以就在网上查询是否有解决这个问题的帖子&#xff0c;结果还真找到了&#xff1a;…

【深入解析spring cloud gateway】04 Global Filters

上一节学习了GatewayFilter。 回忆一下一个关键点&#xff1a; GateWayFilterFactory的本质就是&#xff1a;针对配置进行解析&#xff0c;为指定的路由&#xff0c;添加Filter&#xff0c;以便对请求报文进行处理。 一、原理分析 GlobalFilter又是啥&#xff1f;先看一下接口…

基于串口校时的数字钟设计

文章目录 设计目标硬件设计数码管串口 软件设计顶层模块串口接收模块数据处理模块时钟模块串口发送模块 总结 设计目标 环境&#xff1a;ACX720开发板 实现功能&#xff1a; 数码管能够显示时分秒能够接收串口数据修改时间能够将当前时间以1s一次速率发送到电脑 硬件设计 数…

python案例

游戏案例&#xff1a;猜数字游戏 玩法说明&#xff1a; 程序随机生成一个1到100之间的整数作为答案。 玩家可以输入自己猜测的数字。 如果玩家猜对了答案&#xff0c;则游戏结束&#xff0c;程序输出恭喜信息。 如果玩家猜错了&#xff0c;程序会根据玩家的猜测给出一些提示信息…

1782_Adobe Reader X实现pdf分页保存

全部学习汇总&#xff1a; GitHub - GreyZhang/windows_skills: some skills when using windows system. 看了一本pdf电子书&#xff0c;觉得其中几页很值得分享。如果分享整本书当然是不错的选择&#xff0c;但是分享整本书很可能会导致一个结局——内容太多别人不会去看&…

内网穿透实战应用-如何通过内网穿透实现远程发送个人本地搭建的hMailServer的邮件服务

文章目录 1. 安装hMailServer2. 设置hMailServer3. 客户端安装添加账号4. 测试发送邮件5. 安装cpolar6. 创建公网地址7. 测试远程发送邮件8. 固定连接公网地址9. 测试固定远程地址发送邮件 hMailServer 是一个邮件服务器,通过它我们可以搭建自己的邮件服务,通过cpolar内网映射工…

Tomca架构细节

一.整体架构 1.1 从请求的处理过程看总体架构 如上图中的图 1 和图 2&#xff1a; 在图 1 中&#xff0c;HTTP 服务器直接调用具体的业务类&#xff0c;各个应用程序和服务器是紧耦合的。 这种架构下&#xff0c;HTTP 需要接受不同的请求&#xff0c;并根据不同的请求调用不…