Oracle左外联接查询

本文概述

  • 左外连接
  • 右外连接
  • 完全外联接
外联接类似于等联接, 但它也从表中获取不匹配的行。根据Oracle 9i ANSI / ISO 1999标准, 它分为左外连接, 右外连接和完全外连接。
左外连接 左外联接返回在ON条件中指定的左(第一)表中的所有行, 仅返回满足联接条件的右(第二)表中的所有行。
句法
SELECT columns FROM table1 LEFT [OUTER] JOIN table2 ON table1.column = table2.column;

左外联接的图像表示
Oracle左外联接查询

文章图片
例子
在此示例中, 我们对已创建的表” 供应商” 执行左外联接。和” 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;

输出
Oracle左外联接查询

文章图片
右外连接 右外联接返回在ON条件中指定的右侧表中的所有行, 并且仅返回满足联接条件的其他表中的那些行。
句法
SELECT columns FROM table1 RIGHT [OUTER] JOIN table2 ON table1.column = table2.column;

右外连接的图像表示
Oracle左外联接查询

文章图片
例子
在此示例中, 我们对已创建的表” 供应商” 执行正确的外联接。和” 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;

输出
Oracle左外联接查询

文章图片
完全外联接 完全外联接返回左侧表和右侧表中的所有行。在不满足联接条件的地方放置NULL。
句法
SELECT columns FROM table1 FULL [OUTER] JOIN table2 ON table1.column = table2.column;

完全外联接的图像表示
Oracle左外联接查询

文章图片
例子
在此示例中, 我们对已创建的表” 供应商” 执行完全外联接。和” 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;

【Oracle左外联接查询】输出
Oracle左外联接查询

文章图片

    推荐阅读