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语句的执行顺序相关推荐

  1. 带Left Join的SQL语句的执行顺序

    基础的SQL执行顺序 SQL语句执行的时候是有一定顺序的.理解这个顺序对SQL的使用和学习有很大的帮助. 1.from 先选择一个表,或者说源头,构成一个结果集. 2.where 然后用where对结 ...

  2. MySQL 基础 ———— SQL语句的执行顺序与 LIMIT 子句

    引言 到目前为止,已经总结了常见的SQL子句,包括 SELECT .FROM.JOIN ... ON.WHERE.GROUP BY.HAVING.ORDER BY. 虽然SQL的书写顺序是固定的,但在 ...

  3. SQL语句的执行顺序以及流程

    目录 1.执行FROM语句 2.执行ON过滤 3.添加外部行 4.执行WHERE过滤 5.执行GROUP BY分组 6.执行HAVING过滤 7.SELECT列表 8.执行DISTINCT子句 9.执 ...

  4. 面试题:SQL语句的执行顺序

    SQL语句的执行顺序,学了才知道还有这么多学问 查询语句都是从 FROM 开始执行的.执行过程中,每个步骤都会为下一个步骤生成一个虚拟表,这个虚拟表将作为下一个执行步骤的输入. 具体解析 FROM 执 ...

  5. sql语句的执行顺序以及流程(最新,最全,直接用)

    熟练掌握sql语句的执行顺序,才能避免编程中各种bug和错误. 文章目录 一.Select 语句完整的执行顺序 1.from 子句组装来自不同数据源的数据+(ON过滤器)或(JOIN 添加外部行): ...

  6. 关于SQL语句的执行顺序

    首先,要清楚在一select语句中都会用到哪些关键字: -----------select -----------from -----------join -----------where ----- ...

  7. 数据库:SQL语句的执行顺序,及每一步的详细解释

    一.SQL语句的执行顺序举例(sqlServer版): (8) SELECT (9) DISTINCT (11) <TOP_specification> <select_list&g ...

  8. SQL SERVER 一个SQL语句的执行顺序

    SQL SERVER 一个SQL语句的执行顺序 原文:SQL SERVER 一个SQL语句的执行顺序 一个SQL 语句的执行顺序 1.From (告诉程序 来自哪张表  如果是表表达式 依旧是如此顺序 ...

  9. 【MySQL】九、数据排序(升序 order by ... asc,降序 desc),sql语句的执行顺序

    文章目录 1. 语法 2. 案例 (1)按照工资升序,找出员工名和薪资. (2)按照工资降序,找出员工名和薪资. (3)按照工资的降序排列,当工资相同的时候在按照名字的升序排列. (4)找出员工岗位是 ...

最新文章

  1. 通俗解释指数加权平均
  2. C语言中结构体的位域(bit-fields)
  3. studio 3t 在ubuntu中使用_在ubuntu中使用ufw配置防火墙
  4. java 实现set,Java--Set的三个具体实现类
  5. 洛谷 - P4062 [Code+#1]Yazid 的新生舞会(推公式+线段树)
  6. 51单片机外部地址c语言,cx51与c语言对单片机内部和外部资源变量和地址的定义是否兼容?为什么...
  7. python import from class_彻底搞懂Python 中的 import 与 from import
  8. 面试遇Spark,别怂!
  9. 二叉树的层序遍历_二叉树:你真的会翻转二叉树么?
  10. 免安装版VSCode配置(便携模式)
  11. 学习基础的html代码知识(入门篇)
  12. vmware 安装报错:failed to install hcmon drivers 完美解决(含VMware15激活码)
  13. Introduction to Convex Optimization Basic Concepts 详细
  14. The current branch master has no upstream branch.的解决
  15. 关于java的面试题_JAVA面试题100问第一部分
  16. RecyclerView安卓androidx.widget.RecyclerView
  17. 六大银行办理大额信用卡及养卡细则
  18. 推荐几本适合初学者的Java书籍
  19. 服务器重装系统用友u6,64系统装U6我用win7 64位旗舰版的系统,安装用
  20. discuz论坛怎么去掉标题和底部powered by discuz方法

热门文章

  1. 密钥生成并配置_基于密钥的SSH认证流程
  2. php写实体类,PHP实体类
  3. java如何调用js_java如何调用js方法
  4. Linux网卡图形化,Linux系统无线网络图形化软件(LinSSID)使用方法
  5. centos格式化优盘命令_centos 磁盘分区、格式化及挂载
  6. android组件浮动在activity上_Jetpack Hilt 依赖注入框架上手指南
  7. linux创建ftp指定目录命令行,Linux-命令行建立FTP
  8. python主成分分析相关系数_python如何进行主成分分析
  9. 自定义notebook扩展插件_Jupyter notebook安装扩展插件
  10. c++函数模板_高考数学解答题得分模板——三角函数与解三角形