sql的四种连接——左外连接、右外连接、内连接、全连接
一、内连接
满足条件的记录才会出现在结果集中。
二、 左外连接(left outer join,outer可省略)
左表全部出现在结果集中,若右表无对应记录,则相应字段为NULL
举例说明:
客户表:
订单表:
左外连接(LEFT OUTER JOIN)
select first_name, last_name, order_date, order_amount
from customers c
left join orders o
on c.customer_id = o.customer_id
结果:右表(order)只选取customer_id在左表出现过的结果(符合条件的order_date, order_amount,所以最后两行中date和amount都有NULL值)
三、右外连接(right outer join,outer可省略)
右表全部出现在结果集中,若左表无对应记录,则相应字段为NULL
举例说明:
select first_name, last_name, order_date, order_amount
from customers c
right join orders o
on c.customer_id = o.customer_id
结果:左表(customer)只选取customer_id在右表出现过的结果(符合条件的first_name和last_name,所以最后两行中first_name和last_name都有NULL值)
四、全连接(full outer join,outer可省略)
全外连接=左外连接+右外连接
举例:
select first_name, last_name, order_date, order_amount
from customers c
full join orders o
on c.customer_id = o.customer_id
结果:(左边有右边没有,和右边有左边没有的地方有NULL值)
参考:
https://www.pianshen.com/article/7828135881/
https://www.cnblogs.com/yyjie/p/7788413.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署