SQL Left Outer Join vs Left Join2025年2月3日 | 阅读 4 分钟 ![]() 结构化查询语言 (SQL) 被认为是用于关系数据库管理和操作的相当实用的工具。连接 (Join) 是一种功能工具,在某些情况下,可用于根据相应列合并来自两个或多个表的数据。经常使用的两种连接类型是 LEFT JOIN 和 LEFT OUTER JOIN。因此,对于数据库开发人员和管理员来说,理解这两种连接的区别可能很重要。 什么是连接 (Join)?在探索 LEFT JOIN 和 LEFT OUTER JOIN 的工作原理之前,您需要熟悉基本的连接概念。在 SQL 中,连接是通过使用任何表的键来合并两个或多个表的进程。结果集中预先确定的列是那些同时存在于两个表中的列。 左连接 (Left Join)当连接两个表时,受影响的查询返回第一个表中的所有行,以及第二个表(称为右表)中对应值匹配的行。就像对于正确的表一样,对于没有记录匹配的列,将返回 NULL 值。 语法左外连接LEFT OUTER JOIN 和 LEFT JOIN 服务于相同的目的,它们之间的区别仅在于语法。此外,它提供了第一个表中的所有行,并与第二个表中的所有匹配行结合,如果第二个表的任何行没有匹配项,则取 NULL 值。 语法当使用 SQL 连接两个表的数据时,“LEFT JOIN”和“LEFT OUTER JOIN”产生相同的结果:左表有多少行,右表就有多少匹配行。当右表没有匹配项时,会出现“NULL”值。它们本质上在用于传递信息的语言上有所不同。虽然“LEFT OUTER JOIN”在 SQL Server 编码中很常见,但“LEFT JOIN”在 MySQL 中工作时更常见。这就像在 Python 中我们使用 'print',而在 Java 中我们使用 'System.out.print()' 来完成相似的任务。在数据库系统中,系统决定特定短语是什么,然而,可以清楚地知道翻译如下。 设置数据在继续看一些示例之前,我们将复制必要的数据来演示 Left Join 和 Left Outer Join。下面是指定表和数据的预期格式。 查询-- 执行 LEFT OUTER JOIN输出 ![]() -- 执行 LEFT JOIN输出 ![]() 重要区别功能不是 LEFT JOIN 和 LEFT OUTER JOIN 之间的主要区别;相反,语言是。两种连接的结果集是相同的。
最后,“left join”和“left outer join”在存储查询语言中表示相同的意思,即提供左表中的任何行以及右表行中的匹配行,以及右表中非匹配列的 NULL 值。理解这种等价性有助于数据库专业人员提出更好、更清晰的查询语言。应该记住的是,即使我们倾向于使用 Left outer join 和 Left join 是相同的,您的查询也应该表示所有数据关系并根据数据库的要求产生结果。 |
我们请求您订阅我们的新闻通讯以获取最新更新。