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是等价的。

相关推荐
Gauss松鼠会12 分钟前
GaussDB(DWS)性能问题处理套路
服务器·数据库·postgresql·性能优化·gaussdb
AllData公司负责人17 分钟前
亲测丝滑,体验跃迁|AllData通过集成开源项目RustFS,多模态数据存储新范式
java·大数据·数据库·算法·数据分析·rustfs
SelectDB技术团队20 分钟前
97% 召回率、900 QPS:Apache Doris 4.1 生产级向量检索的工程实践
数据库·人工智能·数据分析·apache doris·selectdb
Trouvaille ~27 分钟前
【Redis篇】Hash 哈希:字段级操作与对象存储的最佳实践
数据库·redis·后端·算法·缓存·哈希算法·键值对
happyprince37 分钟前
10-Hugging Face Transformers 量化系统深度分析
java·前端·数据库
夜郎king42 分钟前
PostgreSQL 16 搭配 PgVector:Windows 11 完整安装教程
数据库·windows·postgresql
迷枫71243 分钟前
Oracle 到达梦 DTS 迁移实验记录
数据库·oracle
better_liang1 小时前
每日Java面试场景题知识点之-MySQL底层数据结构B+树
java·数据结构·mysql·性能优化·面试题·b+树·数据库索引
我是一颗柠檬1 小时前
【MySQL全面教学】MySQL子查询与高级查询Day7(2026年)
数据库·后端·mysql
sN2vuQ08W1 小时前
Mysql事物的持久性及原子性
数据库·mysql