关于SQL的各种Join你知道多少?

SQL中的 join,无外乎 inner join、outer join 以及 cross join,而 inner join 其实就是我们熟知的 join,outer join 其实就是 left outer join、right outer join 和 full outer join。

inner join

通过连接键列中的值进行匹配,仅相同键值的记录在结果集中,两个表中没有匹配的记录不包括在结果集中。

LEFT OUTER JOIN

LEFT OUTER JOIN (或 LEFT JOIN)返回左表中的所有内容,右表中匹配的行以及右表中没有匹配的记录用 NULL 填充。

RIGHT OUTER JOIN

RightOUTERJOIN (或 RightJOIN)返回右表中的所有内容,匹配的行在左表中,坐标中没有匹配的记录填充为 NULL。

FULL OUTER JOIN

在 FULL OUTER JOIN(或 FULL JOIN)中,记录由连接键列中的值进行匹配,相同键值的记录将被匹配,而两个表中不匹配的记录将被填充为 NULL。

CROSS JOIN

CROSS JOIN: 返回表1的每一行和表2的每一行的笛卡儿积,所以如果表1包含6行,表2包含5行,结果将产生30个结果(6 * 5 = 30)

总结

扩展

left anti join 和 right anti join

相关推荐
白宇横流学长15 分钟前
基于Spring Boot的校园考勤管理系统的设计与实现
java·spring boot·后端
ReSearch20 分钟前
sfsEdgeStore:边缘计算时代的轻量级数据存储解决方案
数据库·后端·github
SamDeepThinking24 分钟前
拼单模块设计实战
java·后端·架构
_waylau1 小时前
“Java+AI全栈工程师”问答02:Spring Boot 自动配置原理
java·开发语言·spring boot·后端·spring
无尽冬.1 小时前
个人八股之三层架构
java·经验分享·后端·架构·异世界
贫民窟的勇敢爷们1 小时前
SpringBoot多环境配置全解+配置优先级管控
java·spring boot·后端
橙序员小站2 小时前
A社新论文:Claude,你坐下,咱俩说说心里话~
后端·aigc·claude
Java面试题总结2 小时前
Go 里什么时候可以“panic”?
开发语言·后端·golang
掘金者阿豪2 小时前
加一行配置,少敲一堆命令:表空间目录自动创建让我告别了深夜加班
后端
野犬寒鸦2 小时前
MCP 回包外层结构嵌套问题:原理、排查与开发避坑指南
后端·语言模型·面试·ai编程