关于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

相关推荐
源图客3 分钟前
Go语言goland代码编辑与调试
开发语言·后端·golang
用户6757049885027 分钟前
改了DNS还是不生效?Ubuntu 24.04的这个坑我帮你踩过了
后端·ubuntu·dns
文心快码BaiduComate9 分钟前
Comate Spec模式实践:电商视频自动化生产数据库eDB-MCP服务开发
前端·后端·架构
神奇小汤圆11 分钟前
我想带你动手走一遍最简单的 Harness Engineering
后端
卷无止境24 分钟前
Rust写大型项目时,编译太慢怎么办?
后端
星栈27 分钟前
多租户隔离,我选择"倒退"后开发速度直接翻了 3 倍
后端
敖正炀34 分钟前
手写简易 MyBatis 框架(mini-mybatis)—— 完善版架构设计与核心实现
后端·mybatis
掘金者阿豪1 小时前
R3play让听歌不再费劲,想咋就咋!
后端
EthanYuan1 小时前
🦴不是MCP害了我,是这个阻塞害了我啊
后端