Oracle OUTER JOIN(外连接)

17 Mar 2025 | 阅读 2 分钟

外连接类似于等值连接,但它也会获取表中未匹配的行。根据Oracle 9i ANSI/ISO 1999标准,它分为左外连接、右外连接和全外连接。

左外连接

左外连接返回ON条件中指定的左(第一个)表中的所有行,以及右(第二个)表中满足连接条件的行。

语法

左外连接的图像表示

Oracle Left Outer Join

示例

在本例中,我们对已创建的表“suppliers”和“order1”执行左外连接。

以下示例将返回表“suppliers”中的所有记录,以及表“order1”中连接字段相等的记录。

执行此查询

输出

Oracle Left Outer Join 2

右外连接

右外连接返回ON条件中指定的右侧表中的所有行,以及另一个表中满足连接条件的行。

语法

右外连接的图像表示

Oracle Right Outer Join

示例

在本例中,我们对已创建的表“suppliers”和“order1”执行右外连接。

以下示例将返回order1表中的所有行,以及suppliers表中满足连接条件的行。

执行此查询

输出

Oracle Right Outer Join 2

全外连接

全外连接返回左侧表和右侧表中的所有行。如果未满足连接条件,则放置NULL值。

语法

全外连接的图像表示

Oracle Full Outer Join

示例

在本例中,我们对已创建的表“suppliers”和“order1”执行全外连接。

以下示例将返回“suppliers”表中的所有行和“order1”表中的所有行,并且每当不满足连接条件时,它将放置NULL值。

执行此查询

输出

Oracle Full Outer Join 2