首页 > 其他分享 >多表连接left join 是怎么实现的。

多表连接left join 是怎么实现的。

时间:2022-09-06 14:45:51浏览次数:73  
标签:右边 join 表中 多表 连接 left

今天突然想到 一个问题,左连接我们看到的是 以左边的表为基础表将连接条件符合的 右边的表记录列出来。

那么问题来了,是怎么实现的。我们理解的只是表现出来的,那内部的数据是怎么进行流转以及变动的呢?

我理解

1.指针会将右边表中作为连接条件的字段,拿出来一个个到左边表中跟目标字段进行对比。、

2. 当指针遍历查到 有相同的值的时候,会先将这些值保存到一个类似于数组之类的一个目标中

3.当遍历结束后,将数组中的数据到右边的表中拿到这个条数据,这里暂时称为右表符合条件的N条数据

4.根据查询条件,将对应字段显示出来。

 

当然这是我的一点理解,也希望有大佬给解解惑。百度了好久也没查到,如果能提供学习途径也希望能告知。

标签:右边,join,表中,多表,连接,left
From: https://www.cnblogs.com/etllearn/p/16661719.html

相关文章

  • Flink 双流联结——窗口联结(Window Join)
    对于两条流的合并,很多情况我们并不是简单地将所有数据放在一起,而是希望根据某个字段的值将它们联结起来,“配对”去做处理。例如用传感器监控火情时,我们需要将大量温度传感......
  • 浅析mysql报错:Error writing file '/tmp/MY4QWdUa' (Errcode: 28 - No space left on
    一、问题背景1、报错描述:今天执行sql时发现Node服务的日志报错:SequelizeDatabaseError:EE_WRITE:Errorwritingfile'/tmp/MY4QWdUa'(Errcode:28-Nospac......
  • 为什么要写成mid=left+(right-left)/2
    我来解释一下,为什么要写成mid=left+(right-left)/2,而不是mid=(left+right)/2。因为会溢出!!此时的溢出指的是,mid可能会超出该数据类型的最大值我们假定一个数据类型uint8......
  • 表查询数据准备及测试环境搭建、ORM多表查询
    目录上周内容回顾视图层模块层今日内容详细一、表查询数据准备及测试环境搭建1.django自带一个sqlite3小型数据库2.django切换MySQL数据3.定义模型类4.数据库的迁移命令(模......
  • sql语法:inner join on, left join on, right join on详细使用方法
    sql语法:innerjoinon,leftjoinon,rightjoinon详细使用方法 innerjoin(等值连接)只返回两个表中联结字段相等的行leftjoin(左联接)返回包括左表中的所有......
  • Typescript类型体操 - Trim Left
    题目中文实现TrimLeft<T>,它接收确定的字符串类型并返回一个新的字符串,其中新返回的字符串删除了原字符串开头的空白字符串。例如typetrimed=TrimLeft<'HelloWo......
  • Stream流中使用的Fork/Join框架
            Fork/Join简单案例:使用Fork/join计算1-10000的和当一个任务的计算数量大于3000的时候拆分任务,数量小于3000的时候就计算packagecom.tuling.st......
  • 404.sum-of-left-leaves 左叶子之和
    注意判断左叶子的条件classSolution{private:intget_sum(TreeNode*root,intsum){if(root->left!=nullptr&&root->left->left==nullptr&&......
  • 07 | JAVA的StringJoiner对象专门拼接字符串
    StringJoiner对象专门用来拼接字符串importjava.util.StringJoiner;publicclassMain{publicstaticvoidmain(String[]args){String[]names={......
  • 37. SQL--self join:自连接
    1.前言selfjoin用于将一个表和自身连接,就好像存在两个表一样。为了区分两个表,在sql语句中需要至少重命名一个表。自连接通常用于将表的某个字段与该表的同一字段的......