当前位置: 首页 > news >正文

一条SQL查询语句的执行顺序

SQL常用字段书写顺序

SELECT:选择要查询的列。

FROM:指定数据来源,即表名。

JOIN:根据指定的连接条件将多个表连接在一起。

ON:指定连接条件,即哪些列的值匹配时,应该将两个表中的行组合在一起。

WHERE:过滤结果集,只返回满足指定条件的行。

GROUP BY:将结果集按照一个或多个列进行分组。

HAVING:对分组后的结果集过滤,类似于WHERE子句,但作用在组上而不是单个行上。

UNION:合并两个或多个SELECT语句的结果集。

ORDER BY:对结果集按照一个或多个列进行排序。

LIMIT:限制查询返回的行数。

 SQL常用字段执行顺序

FROM:选择要查询的表,执行笛卡尔儿积,生成虚拟表VT1。

ON:指定连接条件,即哪些列的值匹配时,应该将两个表中的行组合在一起,生成虚拟表VT2。

JOIN:根据指定的连接条件将多个表连接在一起,生成虚拟表VT3。

WHERE:过滤结果集,只返回满足指定条件的行,生成虚拟表VT4。

GROUP BY:将结果集按照一个或多个列进行分组,生成虚拟表VT5。

HAVING:对分组后的结果集进行过滤,类似于WHERE子句,但作用在组上而不是单个行上,生成虚拟表VT6。

SELECT:选择要查询的列,生成虚拟表VT7。

UNION:合并两个或多个SELECT语句的结果集,生成虚拟表VT8。

ORDER BY:对结果集按照一个或多个列进行排序,生成虚拟表VT9。

LIMIT:限制查询返回的行数,生成最终结果集。

 (图源网络)

 

相关文章:

  • mysql慢sql排查与分析
  • Blender怎么样启动默认移动和Cavity效果
  • 理解 Golang 变量在内存分配中的规则
  • ics-05-攻防世界
  • 爬取高校专业信息的Python爬虫简介与实践
  • 【C++ STL算法】sort 排序
  • 隐私计算实训营学习七:隐语SCQL的架构详细拆解
  • 数据库的基本操作
  • 面试题多态结合线程
  • 【TI毫米波雷达】IWR6843AOP的官方文件资源名称BUG,选择xwr68xx还是xwr64xx,及需要注意的问题
  • 【测试面试题】14题常见APP测试面试题(参考答案)
  • 加州大学欧文分校英语基础语法专项课程02:Questions, Present Progressive and Future Tenses 学习笔记
  • Inotify
  • Linux网络编程二(TCP图解三次握手及四次挥手、TCP滑动窗口、MSS、TCP状态转换、多进程/多线程服务器实现)
  • DNS以及dnsmasq 搭建 dns 局域网(2)
  • 「面试题」如何实现一个圣杯布局?
  • 〔开发系列〕一次关于小程序开发的深度总结
  • Akka系列(七):Actor持久化之Akka persistence
  • Effective Java 笔记(一)
  • ES6 ...操作符
  • Java新版本的开发已正式进入轨道,版本号18.3
  • Linux Process Manage
  • python 学习笔记 - Queue Pipes,进程间通讯
  • ucore操作系统实验笔记 - 重新理解中断
  • underscore源码剖析之整体架构
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 关于字符编码你应该知道的事情
  • 计算机在识别图像时“看到”了什么?
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • ​​​​​​​​​​​​​​Γ函数
  • ​Java并发新构件之Exchanger
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #NOIP 2014# day.1 T2 联合权值
  • (007)XHTML文档之标题——h1~h6
  • (06)金属布线——为半导体注入生命的连接
  • (4)STL算法之比较
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (Ruby)Ubuntu12.04安装Rails环境
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (一)基于IDEA的JAVA基础1
  • (转)编辑寄语:因为爱心,所以美丽
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .Net 8.0 新的变化
  • .Net Remoting常用部署结构
  • .NET 设计一套高性能的弱事件机制
  • .Net 中Partitioner static与dynamic的性能对比
  • .net生成的类,跨工程调用显示注释