2021-07-01带Left Join的SQL语句的执行顺序
select a.name,b.name
from T_left a //1
Left Join T_Right b //3
ON a.id = b.id //2
最后执行Left Join T_Right b
基础的SQL执行顺序
SQL语句执行的时候是有一定顺序的。理解这个顺序对SQL的使用和学习有很大的帮助。
1.from
先选择一个表,或者说源头,构成一个结果集。
2.where
然后用where对结果集进行筛选。筛选出需要的信息形成新的结果集。
3.group by
对新的结果集分组。
4.having
筛选出想要的分组。
5.select
选择列。
6.order by
当所有的条件都弄完了。最后排序。
带连接的SQL语句执行顺序(以Left Join为列)
我的理解是这样,SQL语句中无论是否连接的其他表。 无论如何都要先形成一个结果集。后面的顺序不变!
只不过使用连接时,形成结果集合的方式略有不同。这个和 Left Join的实现原理有关。
select a.name,b.name
from T_left a //1
Left Join T_Right b //3
ON a.id = b.id //2
使用Left Join 形成结果集的方式是这样的。
1. 首先对From子句中的前两个表,执行笛卡尔积运算。运算结果 形成一个结果集合。
2. ON按条件,对上边的结果集,进行筛选,形成新的结果集。
3. 以左连接为例,如果T_left中存在未匹配到的行。那么把T_left中的这几行以外部行的形式加到上边的结果集中形成新的结果集。
4. 如果存在多张表,重复1~3过程!
https://www.cnblogs.com/mcad/p/4207033.html
2021-07-01带Left Join的SQL语句的执行顺序相关推荐
- 带Left Join的SQL语句的执行顺序
基础的SQL执行顺序 SQL语句执行的时候是有一定顺序的.理解这个顺序对SQL的使用和学习有很大的帮助. 1.from 先选择一个表,或者说源头,构成一个结果集. 2.where 然后用where对结 ...
- MySQL 基础 ———— SQL语句的执行顺序与 LIMIT 子句
引言 到目前为止,已经总结了常见的SQL子句,包括 SELECT .FROM.JOIN ... ON.WHERE.GROUP BY.HAVING.ORDER BY. 虽然SQL的书写顺序是固定的,但在 ...
- SQL语句的执行顺序以及流程
目录 1.执行FROM语句 2.执行ON过滤 3.添加外部行 4.执行WHERE过滤 5.执行GROUP BY分组 6.执行HAVING过滤 7.SELECT列表 8.执行DISTINCT子句 9.执 ...
- 面试题:SQL语句的执行顺序
SQL语句的执行顺序,学了才知道还有这么多学问 查询语句都是从 FROM 开始执行的.执行过程中,每个步骤都会为下一个步骤生成一个虚拟表,这个虚拟表将作为下一个执行步骤的输入. 具体解析 FROM 执 ...
- sql语句的执行顺序以及流程(最新,最全,直接用)
熟练掌握sql语句的执行顺序,才能避免编程中各种bug和错误. 文章目录 一.Select 语句完整的执行顺序 1.from 子句组装来自不同数据源的数据+(ON过滤器)或(JOIN 添加外部行): ...
- 关于SQL语句的执行顺序
首先,要清楚在一select语句中都会用到哪些关键字: -----------select -----------from -----------join -----------where ----- ...
- 数据库:SQL语句的执行顺序,及每一步的详细解释
一.SQL语句的执行顺序举例(sqlServer版): (8) SELECT (9) DISTINCT (11) <TOP_specification> <select_list&g ...
- SQL SERVER 一个SQL语句的执行顺序
SQL SERVER 一个SQL语句的执行顺序 原文:SQL SERVER 一个SQL语句的执行顺序 一个SQL 语句的执行顺序 1.From (告诉程序 来自哪张表 如果是表表达式 依旧是如此顺序 ...
- 【MySQL】九、数据排序(升序 order by ... asc,降序 desc),sql语句的执行顺序
文章目录 1. 语法 2. 案例 (1)按照工资升序,找出员工名和薪资. (2)按照工资降序,找出员工名和薪资. (3)按照工资的降序排列,当工资相同的时候在按照名字的升序排列. (4)找出员工岗位是 ...
最新文章
- 通俗解释指数加权平均
- C语言中结构体的位域(bit-fields)
- studio 3t 在ubuntu中使用_在ubuntu中使用ufw配置防火墙
- java 实现set,Java--Set的三个具体实现类
- 洛谷 - P4062 [Code+#1]Yazid 的新生舞会(推公式+线段树)
- 51单片机外部地址c语言,cx51与c语言对单片机内部和外部资源变量和地址的定义是否兼容?为什么...
- python import from class_彻底搞懂Python 中的 import 与 from import
- 面试遇Spark,别怂!
- 二叉树的层序遍历_二叉树:你真的会翻转二叉树么?
- 免安装版VSCode配置(便携模式)
- 学习基础的html代码知识(入门篇)
- vmware 安装报错:failed to install hcmon drivers 完美解决(含VMware15激活码)
- Introduction to Convex Optimization Basic Concepts 详细
- The current branch master has no upstream branch.的解决
- 关于java的面试题_JAVA面试题100问第一部分
- RecyclerView安卓androidx.widget.RecyclerView
- 六大银行办理大额信用卡及养卡细则
- 推荐几本适合初学者的Java书籍
- 服务器重装系统用友u6,64系统装U6我用win7 64位旗舰版的系统,安装用
- discuz论坛怎么去掉标题和底部powered by discuz方法
热门文章
- 密钥生成并配置_基于密钥的SSH认证流程
- php写实体类,PHP实体类
- java如何调用js_java如何调用js方法
- Linux网卡图形化,Linux系统无线网络图形化软件(LinSSID)使用方法
- centos格式化优盘命令_centos 磁盘分区、格式化及挂载
- android组件浮动在activity上_Jetpack Hilt 依赖注入框架上手指南
- linux创建ftp指定目录命令行,Linux-命令行建立FTP
- python主成分分析相关系数_python如何进行主成分分析
- 自定义notebook扩展插件_Jupyter notebook安装扩展插件
- c++函数模板_高考数学解答题得分模板——三角函数与解三角形