SQL:left join、right join 究竟什么区别?

1、SQL join 分三种

1)inner join(内连接,也叫等值连接)

显示两个表中有联系的所有数据,是默认方式。

2)cross join(交叉连接)

两个表格做笛卡尔积,显示的数据行数是两个表格行数的乘积,简单地说,就是简单地将所有列拼接在一起,不需要考虑列值的匹配。遇到同名的列,就加(1)(2)…… 作为区分。

3)outer join(外连接)

2、outer join分三种

需要注意的是,from 语句后面接的是左表,left/right/full join 后面接的是右表。

1)left join

采用 left join 的时候,优先展示的是左表的所有数据,而右表的数据根据与左表的关联关系拼接到右边,没有值的项设为 Null。

2)right join

采用 right join 的时候,优先展示的是右表的所有数据,而左表的数据根据与右表的关联关系拼接在左边,没有值的项设为 Null。

3) full join

展示左表和右表的所有数据,与cross join的区别在于,full join 显示左连接、右连接和内连接的并集,而不是简单地拼接各列数据。

3、看图辅助理解

本篇博文的知识整合仅用于简单地记住理论内容,具体了解请参考如下文章:

【SQLite】SQLite数据库的内连接INNER JOIN、左连接LEFT JOIN、右连接RIGHT JOIN和交叉连接CROSS JOIN 关键字_sqlite 连接_logani的博客-CSDN博客

left join、right join和join,傻傻分不清? - 知乎

【一起来补课】一文彻底搞懂Left Join、Right Join和Inner Join_left join right join innerjoin_小样yx的博客-CSDN博客

FULL JOIN和CROSS JOIN的区别_一点莹的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/102226.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android studio安装详细教程

Android studio安装详细教程 文章目录 Android studio安装详细教程一、下载Android studio二、安装Android Studio三、启动Android Studio 一、下载Android studio Android studio安装的前提是必须保证安装了jdk1.8版本以上 1、打开android studio的官网:Download…

20231010-学习笔记

文章目录 定位固定定位小技巧:固定在版心右侧位置元素的显示和隐藏单行文字溢出省略号显示多行文字溢出省略号显示(兼容性有问题)精灵图使用字体图标CSS三角做法界面样式解決图片底部默认空白缝隙问题Bootstrap前端开发框架资源 定位 定位 …

在Centos上配置bgp路由

BGP路由器 BGP(边界网关协议)是一种用于互联网路由的路由协议,可以实现不同自治系统(AS)之间的互联。BGP路由器是指运行BGP协议的路由器,能够对路由信息进行交换和选择,使得数据包能够根据最佳…

利用正则表达式进行数据采集和处理

目录 一、正则表达式的概述 二、正则表达式在数据采集中的运用 1、匹配和提取数据 2、数据清洗 3、数据验证 三、Python中的re模块介绍 1、re.match()方法 2、re.search()方法 总结 正则表达式是一种强大的文本处理工具,它可以用于模式匹配、提取、替换等操…

自动驾驶软件和人工智能

自动驾驶汽车的核心在于其软件系统,而其中的机器学习和深度学习技术是使车辆能够感知、理解、决策和行动的关键。本文将深入探讨这些技术在自动驾驶中的应用,包括感知、定位、路径规划以及道路标志和交通信号的识别。 1. 机器学习和深度学习在自动驾驶中…

9-2-Dataset创建-import调用

文章目录 utils_dataset.pymain-调用utils_dateset.pyutils_dataset.py 1默认:没有改变尺寸,数据集中的图像可以是任意形状尺寸。dataloader中必须令batch_size=1 transforms.Resize((宽,高))(image) 和 batch_size=1 必须用其一 原因:当batch_size>1时,每个batch的数…

利达卓越:推动互联网金融创新发展

随着信息技术的迅猛发展,互联网金融洗尽铅华,浴火蜕变,逐渐崭露头角成为金融领域的一股重要力量。对此,利达卓越积极推动互联网金融创新发展! 互联网金融是指传统金融机构与互联网企业利用互联网技术和信息通信技术实现资金融通、支付、投资和信息中介服务的新型金融业务模式。…

13SpringMVC中拦截器的配置(拦截规则)和多个拦截器的preHandle,postHandle执行顺序原理详解

拦截器 Servlet中的过滤器的实现及其原理,参考文章 配置一个拦截器 SpringMVC中请求的处理流程: 用户请求—>listener—>filter—>DispatcherServlet—>filter—>preHandle—>controller—>postHandle 第一步: 编写一个Java类实现HandlerInterceptor(…

(十五)VBA常用基础知识:正则表达式的使用

vba正则表达式的说明 项目说明Pattern在这里写正则表达式,例:[\d]{2,4}IgnoreCase大小写区分,默认false:区分;true:不区分Globaltrue:全体检索;false:最小匹配Test类似p…

[GXYCTF2019]Ping Ping Ping - RCE(空格、关键字绕过[3种方式])

[GXYCTF2019]Ping Ping Ping 1 解题流程1.1 小试牛刀1.2 三种解法1.2.1 解法一:变量定义拼接绕过1.2.2 解法二:base64编码绕过1.2.3 解法三:内联执行绕过2 思考总结1 解题流程 1.1 小试牛刀 1、提示?ip,结合题目名称,我们直接输入?ip=127.0.0.1 PING 127.0.0.1 (127.…

go 项目打包部署到服务器

1、window打包到Linux 步骤1 依次执行一下命令,就会得到一个exe 文件 步骤2 把打包的文件,放到服务器上(可以使用FinalShell工具) chmod x main # 执行这个命令,给main 文件添加 执行权限,然后执行 ls &…

【BI工具】-- Superset 、Metabase 和 Redash 对比

目录 1.1 基本信息 1.2 制作面板步骤 1.3 支持的数据源 1.4 图表类型 1.4.1 Apache superset 1.4.2 Meta

PCB射频天线设计基本要点及布局技巧

射频天线设计与布局是需要认真关注细节的领域之一,也是混合信号设计师给出的一些提示。如果刚开始接触高频模拟设计,可采用本文给出的这些技巧,以确保RF设计具有良好的隔离效果和信号完整性。 如今,人们已很难想到哪个消费产品不含…

Go 结构体深度探索:从基础到应用

1. 结构体概述 在计算机编程中,数据结构是组织、管理和存储数据的一种方式,它允许高效地执行各种操作。Go语言中的结构体(Struct)是这些数据结构中的一员,它为数据的组织提供了一种具体的方式。 结构体可以被视为是多…

大数据学习(4)-hive表操作

&&大数据学习&& 🔥系列专栏: 👑哲学语录: 承认自己的无知,乃是开启智慧的大门 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言📝支持一下博>主哦&#x…

Vite + TypeScript + Node 开发一个简易脚手架

前言 使用 Vite TypeScript Node 开发一个使多个命令为一个命令的脚手架当然这个题材你也可以使用 bat 实现 思路 创建一个 node 项目,开发一系列逻辑,发布到线上,需要的时候全局安装使用 初始化项目 选择 自定义预选 > cli npm c…

数据结构--》连接世界的无限可能—— 图

图作为数据结构中的一种重要概念,扮演着连接世界的纽带。与树和二叉树相比,图更加灵活和多样化,它能够描述各种实际问题中的复杂关系,如社交网络中的人际联系、城市交通中的路线规划以及电子网络中的通信路径等。 无论你是初学者还…

python:从Excel或者CSV中读取因变量与多个自变量,用于训练机器学习回归模型,并输出预测结果

作者:CSDN @ _养乐多_ 本文详细记录了从Excel读取用于训练机器学习模型的数据,包括独立变量和因变量数据,以供用于机器学习模型的训练。这些机器学习模型包括但不限于随机森林回归模型(RF)和支持向量机回归模型(SVM)。随后,我们将测试数据集应用于这些模型,进行预测和…

[开源]基于流程编排的自动化测试工具,插件驱动,测试无限可能

一、开源项目简介 流程编排,插件驱动,测试无限可能 一款基于流程编排的自动化测试工具 二、开源协议 使用Apache-2.0开源协议 三、界面展示 四、功能概述 在软件开发旅程中,测试流程的管理和执行常常是复杂且耗时的挑战。传统测试工具主…

spring6项目搭建(入门)

文章目录 环境要求构建模块引入依赖初试Bean创建测试类测试对象实现的原理 环境要求 JDK:Java17(Spring6要求JDK最低版本是Java17) Maven:3.6 Spring:6.0.2 构建模块 首先建立的spring的项目(project&…