📜  Oracle OUTER JOIN

📅  最后修改于: 2020-11-15 04:12:06             🧑  作者: Mango

Oracle OUTER JOIN

OUTER JOIN类似于等联接,但它也从表中获取不匹配的行。根据Oracle 9i ANSI / ISO 1999标准,它分为左外连接,右外连接和完全外连接。

左外连接

左外部联接返回在ON条件中指定的左(第一)表中的所有行,并且仅返回满足联接条件的右(第二)表中的所有行。

句法

SELECT columns
FROM table1
LEFT [OUTER] JOIN table2
ON table1.column = table2.column; 

左外部联接的图像表示

在此示例中,我们对已创建的表“供应商”执行左外部联接。和“ order1”。

以下示例将返回表“供应商”中的所有记录。并且只有表“ order1”中的那些记录?联接字段相等的地方。

执行此查询

SELECT suppliers.supplier_id, suppliers.supplier_name, order1.order_number
FROM suppliers
LEFT OUTER JOIN order1
ON suppliers.supplier_id = order1.supplier_id;

输出量

右外连接

右外部联接返回在ON条件中指定的右侧表中的所有行,并且仅返回满足联接条件的另一个表中的那些行。

句法

SELECT columns
FROM table1
RIGHT [OUTER] JOIN table2
ON table1.column = table2.column; 

右外连接的图像表示

在此示例中,我们对已创建的表“供应商”执行正确的外部联接。和“ order1”。

下面的示例将返回order1表中的所有行,并且仅返回满足连接条件的Suppliers表中的所有行。

执行此查询

SELECT order1.order_number, order1.city, suppliers.supplier_name
FROM suppliers
RIGHT OUTER JOIN order1
ON suppliers.supplier_id = order1.supplier_id;

输出量

完全外部加入

完全外部联接返回左表和右表中的所有行。在不满足加入条件的地方放置NULL。

句法

SELECT columns
FROM table1
FULL [OUTER] JOIN table2
ON table1.column = table2.column; 

完全外部联接的图像表示

在此示例中,我们对已创建的表“供应商”执行完全外部联接。和“ order1”。

下面的示例将从“供应商”中返回所有行。表和“ order1”中的所有行表,只要不满足连接条件,它就会放置NULL值。

执行此查询

SELECT suppliers.supplier_id, suppliers.supplier_name, order1.order_number
FROM suppliers
FULL OUTER JOIN order1
ON suppliers.supplier_id = order1.supplier_id;

输出量