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

相关推荐
喝醉的小喵2 分钟前
iptables 规则重启机器后丢失导致k8s网络不可用
网络·后端·容器·kubernetes·虚拟化
人间打气筒(Ada)3 分钟前
「码动四季·开源同行」go语言:如何处理 Go 错误异常与并发陷阱?
开发语言·后端·golang·defer·panic·errors·并发陷阱
女王大人万岁7 分钟前
Golang实战gin-swagger:自动生成API文档
服务器·开发语言·后端·golang·gin
小林学编程23 分钟前
模型上下文协议(MCP)的理解
java·后端·llm·prompt·resource·tool·mcp协议
小码哥_常10 小时前
Spring Boot 中JWT登录授权+无感刷新,看这篇就够了!
后端
码农BookSea11 小时前
深度解析Skills:从Prompt到能力复用的技术革命
后端·ai编程
计算机毕设指导611 小时前
基于SpringBoot校园学生健康监测管理系统【源码文末联系】
java·spring boot·后端·spring·tomcat·maven·intellij-idea
希望永不加班11 小时前
SpringBoot 数据库连接池配置(HikariCP)最佳实践
java·数据库·spring boot·后端·spring
夕颜11111 小时前
写 SIP 服务后台前,先把 SIP 和 PSTN 搞清楚
后端
码农BookSea11 小时前
为什么ChatGPT能听懂你说的话?Embedding技术揭秘
后端·openai