七种 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智能家居系统【内网穿透】
1017 0
|
移动开发 前端开发 小程序
分享46个Bootstrap模板,总有一款适合您
分享46个Bootstrap模板,总有一款适合您
581 1
|
SQL 关系型数据库 数据库连接
python库之—psycopg2
python库之—psycopg2
|
测试技术
优化if-else的11种方案
优雅编码不仅提升程序效率,也增进代码可读性与维护性。通过早返回减少嵌套逻辑、运用三元运算符简化条件判断、采用`switch-case`优化多分支结构、实施策略模式灵活应对不同情境、利用查找表快速定位处理方式、封装函数明确职责划分、应用命令模式解耦操作与调用、引入状态模式管理复杂状态变化、重构条件表达式以增强清晰度、运用断言确保前提条件、及合理异常处理等十大技巧,使代码更加精炼与优雅。
688 159
优化if-else的11种方案
|
9月前
|
机器学习/深度学习 达摩院 PyTorch
GitHub 1.3k 一款能“填色回忆”的神器:DDColor 让老照片鲜活又逼真
DDColor 是阿里达摩院推出的图像自动着色模型,采用双解码器架构与 Colorfulness Loss 技术,实现黑白图到高保真彩色图的智能转换。支持 GPU/CPU 推理,兼容历史照片、动画、游戏截图等多场景,具备高效、真实、多样、易用等特点,广泛适用于影像修复、艺术创作等领域。
1078 24
|
8月前
|
消息中间件 前端开发 JavaScript
如何开发工程项目部管理系统中的WBS分解板块(附架构图+流程图+代码参考)
本文详细解析了如何将工程项目中的WBS(工作分解结构)系统化,通过拆解“大工程”为可执行的小单元,实现责任明确、变更可控、联动管理与风险降低。内容涵盖系统架构、业务流程、数据模型、前后端实现、关键路径算法及最小可跑代码(MVP),并提供数据库设计、接口定义与React前端示例,助力快速落地工程项目管理系统。
|
算法 搜索推荐 数据库
二分搜索:高效的查找算法
【10月更文挑战第29天】通过对二分搜索的深入研究和应用,我们可以不断挖掘其潜力,为各种复杂问题提供高效的解决方案。相信在未来的科技发展中,二分搜索将继续发挥着重要的作用,为我们的生活和工作带来更多的便利和创新。
267 1
|
Java 编译器 数据库
Java 中的注解(Annotations):代码中的 “元数据” 魔法
Java注解是代码中的“元数据”标签,不直接参与业务逻辑,但在编译或运行时提供重要信息。本文介绍了注解的基础语法、内置注解的应用场景,以及如何自定义注解和结合AOP技术实现方法执行日志记录,展示了注解在提升代码质量、简化开发流程和增强程序功能方面的强大作用。
504 5
|
监控 安全 架构师
JVM 17 调优指南:如何进行JVM调优,JVM调优参数
在这篇文章中,我会详细介绍JVM调优的概念、重要性和具体的JVM调优参数。此外,我将提供12个实用的代码示例,每个示例都会包含JVM调优参数和相应的Java代码。JVM调优是调整和配置Java虚拟机(JVM)的过程,以便最大限度地提高应用程序的性能和效率。这涉及到调整内存设置、选择合适的垃圾收集器,以及配置各种性能参数。
1301 0
|
机器学习/深度学习 自然语言处理 并行计算
扩散模型
本文详细介绍了扩散模型(Diffusion Models, DM),一种在计算机视觉和自然语言处理等领域取得显著进展的生成模型。文章分为四部分:基本原理、处理过程、应用和代码实战。首先,阐述了扩散模型的两个核心过程:前向扩散(加噪)和逆向扩散(去噪)。接着,介绍了训练和生成的具体步骤。最后,展示了模型在图像生成、视频生成和自然语言处理等领域的广泛应用,并提供了一个基于Python和PyTorch的代码示例,帮助读者快速入门。