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

相关推荐
bobz9651 小时前
5070 Ti CodeLlama 7B > Mistral 7B > Qwen3 8B
后端
麦兜*1 小时前
Spring Boot 集成 Docker 构建与发版完整指南
java·spring boot·后端·spring·docker·系统架构·springcloud
程序视点2 小时前
2025最佳图片无损放大工具推荐:realesrgan-gui评测与下载指南
前端·后端
fured3 小时前
[调试][实现][原理]用Golang实现建议断点调试器
开发语言·后端·golang
bobz9654 小时前
linux cpu CFS 调度器有使用 令牌桶么?
后端
bobz9654 小时前
linux CGROUP CPU 限制有使用令牌桶么?
后端
David爱编程5 小时前
多核 CPU 下的缓存一致性问题:隐藏的性能陷阱与解决方案
java·后端
追逐时光者5 小时前
一款基于 .NET 开源、功能全面的微信小程序商城系统
后端·.net
绝无仅有6 小时前
Go 并发同步原语:sync.Mutex、sync.RWMutex 和 sync.Once
后端·面试·github
绝无仅有6 小时前
Go Vendor 和 Go Modules:管理和扩展依赖的最佳实践
后端·面试·github