七种 JION 的理论|学习笔记

简介: 快速学习七种 JION 的理论

开发者学堂课程【MySQL 高级应用 - 索引和锁七种 JION 的理论】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/598/detail/8589


七种 JION 的理论


内容介绍

一、JION 的类型

二、七种 JION 的理论


一、JION 的类型

JION 最常见的类型有内连接、外连接、左连接、交叉链接、笛卡尔级、全连接。

以下图为所有的 jion 关系。

image.png


二、七种JION的理论

1.内连接

image.png

SELECT<select_list>

FROM TableAA

INNER JOIN YableB B

ON A.Key= B.Key

A 是一张表 B 是一张表,它们两个的共有部分,所以它是内连接

结合刚才所说的 select 的条件 formA 要去跟 B INNER JION

这两个要做 INNER JION 的条件根据前面的 SQL 机读和人写的顺序要有一个 ON,这个时候 A INNER JION B,因为前面有一个条件 ON 索引可以 JION

2.左外连接

image.png

SELECT<select_list>

FROM TableA A

LEFT JOIN TableB B

ON A.Key = B.Key

左上角是 left join 只要是左就是要左表的全部,简单而言就是 AB 的共有加上A的独有就是全 A

3.右外链接

image.png

SELECT<selecr_list>

FROM TableA A

RIGHT JOIN TableB B

ON A.Key = B.Key

不管是左还是右它们的表格高度要一样不匹配的表要用 NULL 来对等对齐。

4.左连接

image.png

SELECT<select_list>

FROM TableA A

LEFT JOIN TableB B

ON A.Key = B.Key

WHERE B.Key IS NULL

这个叫 A 的独有,A 独占之后就没有 B 的事情,左连接是公有部分加独 A ,只需要把公有部分去掉,只要坐标的全部所以 A 是独占,所以 B 只能是 NULL

5.右链接

image.png

SELECTselect_list>

FROM TableA A

RIGHT JOIN TableB B

ON A.Key = B.Kcy

WHEREA.Key IS NULL

6.全连接

image.png

SELECT<select_list>

FROM TableA A

FULEOUTER JOIN TableB B

ON A.Key = B.Key

AB 为全部的链接。

7.两表独有

image.png

SELECT<selecn_list>

FROM TableA A

FULL OUTER JOIN TableB B

oNA.Key = B.Key

WHEREA.Key IS NULL

OR B.Key IS NULL

AB 为各自的独有。

相关文章
|
iOS开发 MacOS 智能硬件
如何搭建远程控制家中设备的Home Assistant智能家居系统【内网穿透】(下)
如何搭建远程控制家中设备的Home Assistant智能家居系统【内网穿透】
807 0
|
SQL 关系型数据库 数据库连接
python库之—psycopg2
python库之—psycopg2
|
算法 搜索推荐 数据库
二分搜索:高效的查找算法
【10月更文挑战第29天】通过对二分搜索的深入研究和应用,我们可以不断挖掘其潜力,为各种复杂问题提供高效的解决方案。相信在未来的科技发展中,二分搜索将继续发挥着重要的作用,为我们的生活和工作带来更多的便利和创新。
210 1
|
机器学习/深度学习 自然语言处理 并行计算
扩散模型
本文详细介绍了扩散模型(Diffusion Models, DM),一种在计算机视觉和自然语言处理等领域取得显著进展的生成模型。文章分为四部分:基本原理、处理过程、应用和代码实战。首先,阐述了扩散模型的两个核心过程:前向扩散(加噪)和逆向扩散(去噪)。接着,介绍了训练和生成的具体步骤。最后,展示了模型在图像生成、视频生成和自然语言处理等领域的广泛应用,并提供了一个基于Python和PyTorch的代码示例,帮助读者快速入门。
|
网络协议 Ubuntu Linux
在Linux中,如何将本地80端口的请求转发到8080端口,当前主机IP为192.168.16.1,其中本地网卡eth0。
在Linux中,如何将本地80端口的请求转发到8080端口,当前主机IP为192.168.16.1,其中本地网卡eth0。
|
运维 监控 Devops
自动化运维实践:打造高效的DevOps流水线
在软件开发的快节奏中,自动化运维成为提升效率、确保质量的关键。本文将引导你理解自动化运维的价值,通过实际案例分享如何构建一个高效、可靠的DevOps流水线。我们将从持续集成(CI)开始,逐步深入到持续部署(CD),并展示代码示例来具体说明。准备好让你的运维工作飞跃式进步了吗?让我们开始吧!
|
监控 安全 BI
【亮剑】摄像头组播技术,一种一对多通信方式,通过特殊组播地址实现信息源向多个目的地同时发送数据
【4月更文挑战第30天】摄像头组播技术,一种一对多通信方式,通过特殊组播地址实现信息源向多个目的地同时发送数据,节省带宽,降低延迟。应用于安全监控、交通管理、商业分析、远程教育和智能家居等领域,提高效率,保障安全。技术关键包括组播地址管理、路由选择和成员管理,以及网络拥塞和错误控制。随着技术发展,其在数字化世界中的作用将日益显著。
498 1
|
监控 安全 架构师
JVM 17 调优指南:如何进行JVM调优,JVM调优参数
在这篇文章中,我会详细介绍JVM调优的概念、重要性和具体的JVM调优参数。此外,我将提供12个实用的代码示例,每个示例都会包含JVM调优参数和相应的Java代码。JVM调优是调整和配置Java虚拟机(JVM)的过程,以便最大限度地提高应用程序的性能和效率。这涉及到调整内存设置、选择合适的垃圾收集器,以及配置各种性能参数。
1196 0
|
NoSQL Ubuntu Redis
Ubuntu安装redis
本文介绍了在Ubuntu系统上安装Redis的两种方法:一种是通过编译安装本地Redis包,包括下载、解压、编译安装、配置启动和测试连接的步骤;另一种是通过apt安装在线的Redis包,并提供了更新系统软件包列表、安装Redis服务器、检查Redis服务器状态和测试连接的命令。
1456 0
Ubuntu安装redis