To write a query that performs an outer join of tables A and B and returns all rows from A (a left outer join), use the LEFT [OUTER] JOIN syntax in the FROM clause, or apply the outer join operator (+) to all columns of B in the join condition in the WHERE clause. For all rows in A that have no matching rows in B, Oracle returns null for any select list expressions containing columns of B.
To write a query that performs an outer join of tables A and B and returns all rows from B (a right outer join), use the RIGHT [OUTER] JOIN syntax in the FROM clause, or apply the outer join operator (+) to all columns of A in the join condition in the WHERE clause. For all rows in B that have no matching rows in A, Oracle returns null for any select list expressions containing columns of A.
To write a query that performs an outer join and returns all rows from A and B, extended with nulls if they do not satisfy the join condition (a full outer join), use the FULL [OUTER] JOIN syntax in the FROM clause.
注意:
If A and B are joined by multiple join conditions, then you must use the (+) operator in all of these conditions. If you do not, then Oracle will return only the rows resulting from a simple join, but without a warning or error to advise you that you do not have the results of an outer join.
如果有多张表进行连接,例abc连接,a和c用了外联,则以后a和c的每个字段的连接条件都要加上外联,否则,a和c等同于内联;而a和b,b和c的连接不受影响。
为什么会这样的个人解释:a和c外联了,假设a左联c,有一个条件加上了(+)a.name = c.name(+)也就是说这时的结果集里面的数据包括a.name为空的数据;此时,还有一个条件是这样的a.id = c.id,这个时候,取出的数据,里面的name是为空呢还是不为空?我想oracle也很为难,所以,就选择了一个办法,让这个(+)相当于没有生效。
而a和b的结果集,b和c的结果集,没有影响,该怎么出就怎么出。
欢迎拍砖。
分享到:
相关推荐
右外连接(RIGHT OUTER JOIN)则是以右表为基础进行操作,与左外连接类似,但方向相反。`SELECT * FROM t1 RIGHT JOIN t2 ON t1.id = t2.id` 会返回所有右表 t2 的记录,以及与左表 t1 匹配的记录。在这个例子中,t2...
基础连接已经关闭 连接被意外关闭,关闭空闲的连接;
在理解外连接查询之前,我们首先要了解内连接,即最基础的相等连接。内连接查询通过比较两个表中的特定字段值来筛选出匹配的记录,例如`SELECT * FROM A, B WHERE A.id = B.id`,这将返回A表和B表中id字段值相同的...
本文将详细解释五种主要的连接类型:外连接(外连接)、内连接(内连接)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)、全连接(FULL JOIN)以及交叉连接(CROSS JOIN)。 1. **内连接(INNER JOIN)**: 内连接...
【SQL子查询、内连接和外连接查询】 在SQL中,子查询、内连接和外连接是进行复杂数据检索的关键工具。这些概念的理解和熟练应用对于数据库管理与数据分析至关重要。 **子查询** 是一个嵌套在其他SQL语句中的查询,...
右外连接(`RIGHT OUTER JOIN`或简化为`RIGHT JOIN`)与左外连接类似,但方向相反,以右表为基础,返回右表中所有记录,以及左表中与之匹配的记录。同样,如果左表中没有匹配项,则缺失的列将填充为`NULL`。 **2.3 全...
当我们需要从多个表中获取数据并合并它们时,SQL提供了不同类型的连接操作,包括内连接、外连接(左连接和右连接)。以下是这些连接方式的详细说明。 **内连接(Inner Join)** 内连接返回两个表中存在匹配的记录。...
数据库实践四(内连接外连接)答案 数据库实践四(内连接外连接)答案是一个关于数据库操作的实践题目,涵盖了数据库的基本操作,包括内连接、外连接、子查询等。下面对每个题目进行详细的解释和分析: 一、创建...
分为左外连接、右外连接和全外连接。例如,左外连接显示所有供应商信息,即使他们没有销售任何零件: ```sql SELECT s.f_sname, p.f_pname FROM t_supplier s LEFT OUTER JOIN t_sells ss ON s.f_sid = ss.f_sid ...
连接器技术基础知识点: 1. 连接器概念: 连接器是电子工程领域中用于连接电路的关键部件,其主要功能是在电路被阻断处或孤立不通的电路之间建立连接,使得电流能够流通,并实现电路预定功能。它们在电子设备中...
ODC室外光纤连接器是一种专为恶劣环境设计的预制光纤连接解决方案,其名称"Out Door Conector"直接表明...无论是对于需要快速部署的临时通信系统,还是要求长期稳定运行的基础设施,ODC都能提供高效、可靠的连接方案。
#### 二、基础知识 在深入探讨各种 JOIN 类型之前,我们先来了解一下基本概念。 - **表**:数据库中的基本单位,由行和列组成。 - **键**:用于唯一标识表中记录的一列或多列。 - **主键**:表中的一个或一组字段...
### 查询语句顺序及外连接详解 在数据库查询中,SQL语句的执行顺序对于理解和优化查询至关重要。本文将深入探讨查询语句的执行流程,尤其是外连接的应用,通过具体的实例帮助读者掌握这一核心概念。 #### 查询语句...
SQL的四种连接方式是数据库查询中常用的操作,它们分别是内连接(Inner Join)、左外连接(Left Outer Join)、右外连接(Right Outer Join)和全连接(Full Outer Join)。每种连接方式都有其特定的应用场景和返回...
PostgreSQL 10 基础课程第五章 高级知识左右外连接详解
本文主要探讨了四种基本的表连接类型:内连接、外连接(包括左外连接、右外连接)以及交叉连接。 首先,内连接(INNER JOIN)基于指定的连接条件,返回两个表中匹配的行。它又分为等值连接、自然连接和不等连接。...
《连接器基础知识详解》 连接器,作为电子设备中不可或缺的一部分,其主要功能是通过电信号或机械力的作用实现电路的接通、断开或换接。无论是在大型电子系统还是日常生活的小型设备中,连接器都扮演着关键角色,...
本文主要探讨了四种基本的连接方式:相等连接、外连接(包括左外连接和右外连接)、不等连接和自连接。 1. 相等连接: 相等连接是最基础的连接类型,它基于两个表中相同意义的列之间的相等条件。例如,在查询员工...
光纤跳线和连接器是现代通信网络中不可或缺的组成部分,特别是在监控传输和网络传输中扮演着重要角色。...随着技术的发展,光纤传输变得越来越普及,掌握这些基础知识对于IT专业人士来说显得尤为重要。
主要内容包括等值连接、非等值连接、自连接、交叉连接、内连接、外连接(左外连接、右外连接、全外连接)等。文档还强调了避免笛卡尔乘积的重要性,并解释了如何通过WHERE子句中的正确连接条件来防止这种情况的发生...