MySQL外连接

MySQL外连接是一种在两个或多个表之间进行联接操作的方法。它返回符合联接条件的所有行,同时也返回未匹配的行。

MySQL支持左外连接、右外连接和全外连接。

左外连接(LEFT JOIN)是指从左表中返回所有记录,无论是否在右表中有匹配记录。如果右表中没有匹配记录,则返回空值。

右外连接(RIGHT JOIN)是指从右表中返回所有记录,无论是否在左表中有匹配记录。如果左表中没有匹配记录,则返回空值。

全外连接(FULL JOIN)是指从左表和右表中返回所有记录,无论是否在对方表中有匹配记录。如果两个表中都没有匹配记录,则返回空值。

下面是一个简单的例子:

表1:Customers CustomerID CustomerName 1 John 2 Mary 3 Peter

表2:Orders OrderID CustomerID OrderDate 1 1 2020-01-01 2 2 2020-02-01 3 4 2020-03-01

使用左外连接查询两个表的所有记录:

SELECT Customers.CustomerName, Orders.OrderDate FROM Customers LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

查询结果:

CustomerName OrderDate John 2020-01-01 Mary 2020-02-01 Peter NULL

注意,在MySQL中,LEFT JOIN和LEFT OUTER JOIN是等价的,RIGHT JOIN和RIGHT OUTER JOIN是等价的。

相关推荐
微学AI14 分钟前
树莓派搭建便携弱网测试网关:基于 Facebook ATC 的实践指南
数据库·内网穿透
小江的记录本15 分钟前
【Bean】JavaBean(原生规范)/ Spring Bean 【重点】/ 企业级Bean(EJB/Jakarta Bean)
java·数据库·spring boot·后端·spring·spring cloud·mybatis
m0_6625779717 分钟前
自动化与脚本
jvm·数据库·python
讯方洋哥20 分钟前
HarmonyOS App开发——鸿蒙ArkTS端云一体化云数据库应用和实战
数据库·harmonyos
闻哥21 分钟前
MySQL InnoDB 缓存池(Buffer Pool)详解:原理、结构与链表管理
java·数据结构·数据库·mysql·链表·缓存·面试
heze0922 分钟前
sqli-labs-Less-50
数据库·mysql·网络安全
gechunlian8829 分钟前
redis exporter手册
数据库·redis·缓存
木易 士心41 分钟前
深入理解 MySQL 权限撤销(REVOKE)机制:从语法到安全实践
数据库·后端·mysql·安全
小龙报1 小时前
【数据结构与算法】栈和队列的综合应用:1.用栈实现队列 2.用队列实现栈 3.设计循环队列
c语言·数据结构·数据库·c++·redis·算法·缓存
dapeng28701 小时前
使用Fabric自动化你的部署流程
jvm·数据库·python