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

相关推荐
程序员爱钓鱼1 分钟前
Node.js 编程实战:图像与文件上传下载
前端·后端·node.js
程序员爱钓鱼2 分钟前
Node.js 编程实战:日志管理与分析
后端·面试·node.js
吴佳浩6 小时前
Python入门指南(五) - 为什么选择 FastAPI?
后端·python·fastapi
GoGeekBaird6 小时前
分享几个使用Nano Banana Pro 画信息图的提示词
后端·github
shoubepatien7 小时前
JAVA -- 08
java·后端·intellij-idea
yangminlei7 小时前
springboot pom.xml配置文件详细解析
java·spring boot·后端
黄俊懿7 小时前
【深入理解SpringCloud微服务】Seata(AT模式)源码解析——全局事务的提交
java·后端·spring·spring cloud·微服务·架构·架构师
白宇横流学长7 小时前
基于SpringBoot实现的历史馆藏系统设计与实现【源码+文档】
java·spring boot·后端
moxiaoran57537 小时前
Go语言结构体
开发语言·后端·golang
爱海贼的无处不在7 小时前
现在还有Java面试者不会开发Starter组件
后端·面试·架构