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

相关推荐
念越7 分钟前
【数据库系统概论期末复习】 绪论重点与常考题重点与常考题整理第一章
数据库·数据库系统概论
SXJR7 分钟前
langchain4j是如何保证tools或者funcation call不出错的
java·网络·数据库·ai·语言模型
AIMath~23 分钟前
兼容pymongo=4.16版本如何安装mongodb
数据库·mongodb
念恒1230633 分钟前
MySQL连接池原理与简易网站数据流动是如何进行的
数据库·mysql
宇砾39 分钟前
浅谈Redis(2)
数据库·redis·缓存
cfm_29141 小时前
Redis Stack 零基础入门
数据库·redis·缓存
海南java第二人1 小时前
ClickHouse 列式存储深度解析:优点、缺点与选型实战
数据库·clickhouse
李白客1 小时前
MySQL迁移操作手册:一次完整迁移的实战路径
数据库·mysql
晴天¥2 小时前
Oracle 19c RAC修改监听默认端口
数据库·oracle
皮卡祺q2 小时前
【redis1】基本指令,五大数据类型,存储优化,使用场景】
数据库·redis·缓存