基础的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过程!

mysql笛卡尔积的解释相关推荐

  1. Mysql 笛卡尔积

    首先,先简单解释一下笛卡尔积. 现在,我们有两个集合A和B. A = {0,1}     B = {2,3,4} 集合 A×B 和 B×A的结果集就可以分别表示为以下这种形式: A×B = {(0,2 ...

  2. oracle的笛卡尔积的用处,笛卡尔积的解释和作用

    一:笛卡尔积的解释 例 给出二个域: 假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1),(b,2)}..类似的例子有, ...

  3. 笛卡尔积的解释和作用

    一:笛卡尔积的解释 例 给出二个域: 假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1),(b,2)}..类似的例子有, ...

  4. mysql 笛卡尔积_Mysql内连接、左连接会出现笛卡尔积的理解

    先简单解释一下笛卡尔积. 现在,我们有两个集合A和B. A = {0,1}     B = {2,3,4} 集合 A×B 和 B×A的结果集就可以分别表示为以下这种形式: A×B = {(0,2),( ...

  5. mysql脚本mysql_safe解释、mysql.sock文件、mysql_install_db

    1.首先解释下,启动mysql时为何会调用mysql_safe脚本来启动mysql [root@localhost ~]# /etc/init.d/mysqld start 正在启动 mysqld: ...

  6. 详解MySQL中EXPLAIN解释命令

    explain显示了mysql如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句. 使用方法,在select语句前加上explain就可以了: 如: expla ...

  7. mysql 输出解释怎么看_了解MySQL中EXPLAIN解释命令

    1 EXPLAIN概念 EXPLAIN会向我们提供一些MySQL是执行sql的信息: EXPLAIN可以解释说明 SELECT, DELETE, INSERT, REPLACE, and UPDATE ...

  8. mysql用大白话解释_Java基础--2021Java面试题系列教程--大白话解读

    前言 序言 再高大上的框架,也需要扎实的基础才能玩转,高频面试问题更是基础中的高频实战要点. 适合阅读人群 Java 学习者和爱好者,有一定工作经验的技术人,准面试官等. 阅读建议 本教程是系列教程, ...

  9. mysql数据库模型相应解释_数据库事务系列-MySQL跨行事务模型

    说来和MySQL倒是有缘,毕业的第一份工作就被分配到了RDS团队,主要负责把MySQL弄到云上做成数据库服务.虽说整天和MySQL打交道,但说实话那段时间并没有很深入的理解MySQL内核,做的事情基本 ...

最新文章

  1. 泛前端知识图谱(Web/iOS/Android/RN)
  2. 裁员这件事,谁也没有鲍尔默、纳德拉这两届微软CEO演绎的淋漓尽致
  3. python pywin32 微信_Pywin32错误地安装进Anaconda的Python里了
  4. HDU1166 敌兵布阵 单点更新 区间查询
  5. WatchOS系统开发大全(8)-WKInterfaceGroup
  6. SpringMVC注解开发(基础)---SpringMVC学习笔记(七)
  7. HTTP之Last-Modified、Etage、If-Modified-Since理论与实践(C++ Qt实现)
  8. 面向对象--闭包 继承
  9. cypress离线安装_【拆一个高端货】 美国NI公司 GPIB-USB转接卡 长标题
  10. 周立功USBCANFD_200U的Python调用
  11. 北邮 形式语言与自动机
  12. 如何进行音频合并?很简单,只需三步骤
  13. sony电视遥控器android,划重点!如何用手机当“点播遥控器”?
  14. Android Tv wifi网络登录认证
  15. 百度搜索结果页面的参数 提示词输入搜索框方式(rsv_sug5)
  16. 电脑如何打开虚拟化设置?
  17. leetcode题刷250天(84)——454. 四数相加 II(加法分配律)
  18. 中介模式(python实现2)
  19. MathType完美兼容Word 2019 最详细的安装配置教程转载
  20. 用高斯约当法求逆矩阵​​​​​​​​​​​​​​​​​​​​​A-1

热门文章

  1. 计算机毕业设计Java便利店系统(源码+系统+mysql数据库+lw文档)
  2. 微信企业号接入JDK6和JDK7及JDK8加解密失败处理(Java)
  3. 思科设备SSH登录配置
  4. Java基础知识-char
  5. 设置数据有效性实现单元格下拉菜单的3种方法
  6. 大型分布式电商系统架构是如何从0开始演进
  7. ymodem协议上位机_《储能变流器与电池管理系统通信协议第1部分:CAN通信协议》等三项团体标准工作会议在厦门召开...
  8. axure8.0发布html,Axure RP 8 Release History
  9. The Matrix(黑客帝国)
  10. 高通平台tp驱动(一)