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

相关推荐
excel4 小时前
IndexNow:让搜索引擎更快发现网站更新的主动通知协议
前端·后端·架构
Json____4 小时前
用 FastAPI + Vue3 打造一套完整的在线考试系统:从组卷到阅卷的业务闭环实践
后端·node.js·fastapi·it学习·wwwoop.com
小灰灰搞电子5 小时前
Rust+Slint 实现FTP客户端调试助手源码分享
开发语言·后端·rust
专业程序开发源5 小时前
springboot欧缇蔓月子中心管理系统82697-计算机课程设计、毕业设计
java·spring boot·后端·python·spring·django·课程设计
卷无止境6 小时前
面向arm64桌面客户端开发全景:语言、框架与生态
后端·python
IT_陈寒6 小时前
JavaScript的闭包陷阱,这个坑我躺了三天才爬出来
前端·人工智能·后端
用户8356290780516 小时前
如何使用 Python 对 Excel 数据进行分组和分级显示
后端·python
vx_Biye_Design7 小时前
django房屋租赁推荐系统78455-计算机课程设计、毕业设计
vue.js·spring boot·后端·python·django·课程设计·express
Mk598788 小时前
让 Agent 长出双手:一个注解搞定工具调用,AgentScope-Java @Tool 实战
后端
小溪学编程8 小时前
将 Bean 放入 Spring 容器中的方式有哪些?
java·后端·spring