连接分为内连接、外连接和交叉连接。最常用莫过于内连接(INNER JOIN) 和 左外连接(LEFT JOIN 或 LEFT OUTER JOIN)。
内连接。(典型的连接运算,使用像 = 或 <> 之类的比较运算符)包括相等连接和自然连接。
INNER JOIN 或 JOIN
用法:A INNER JOIN B ON 关联条件,自然连接等价于:SELECT DISTINCT * FROM A JOIN B
外连接。外连接可以是左向外连接、右向外连接或完整外部连接。
LEFT JOIN 或 LEFT OUTER JOIN。
左向外连接的结果集包括LEFT OUTER子句中指定的左表的所有行,而不仅仅是连接列所匹配的行。
用法:A LEFT JOIN B ON 关联条件
RIGHT JOIN 或 RIGHT OUTER JOIN。
右向外连接是左向外连接的反向连接。A RIGHT JOIN B = B LEFT JOIN A,是一样的。将返回右表的所有行。
也就是,LEFT JOIN 返回左表所行,RIGHT JOIN 返回右表所有行,简单好记。
FULL JOIN 或 FULL OUTER JOIN。
完整外部连接返回左表和右表中的所有行。有匹配的匹配,没有就留空(NULL)。
用法:A FULL JOIN B ON 关联条件
所有连接返回记录数都有可能比关联两表的记录数多,因为有匹配若是一对多的,关联后的记录数势必放大。内连接、左右连接是这样,全连接则肯定的。
除了内连接外,放大即会用NULL填充。故使用左连接、全连接时,常会产生很多意外的NULL。
交叉连接。交叉连接返回左表中的所有行,左表中的每一行与右表中的所有行组合。交叉连接也称作笛卡尔积。
用法:A CROSS JOIN B (不要ON)
此外,自连接其实只是关联表 A和B 是同一张表的情况。如银行机构信息表,同一张表里有总行、分行和支行,通过自身关联,可看一个支行的上级机构信息。
分享到:
相关推荐
本文将详细介绍六种主要类型的 JOIN:左连接(LEFT JOIN)、右连接(RIGHT JOIN)、全连接(FULL JOIN)、内连接(INNER JOIN)、交叉连接(CROSS JOIN)以及自连接(SELF JOIN)。通过实例讲解每种连接的特点和应用...
根据连接的方式不同,可以分为左连接(LEFT JOIN)、右连接(RIGHT JOIN)、内连接(INNER JOIN)、全连接(FULL JOIN)、交叉连接(CROSS JOIN)以及自连接(SELF JOIN)。每种连接类型都有其特定的应用场景和使用...
全连接返回左表和右表的所有行,即使另一表中没有匹配。如果在任一表中找不到匹配的行,结果将填充NULL。 ```sql SELECT authors.*, publishers.* FROM authors FULL OUTER JOIN publishers ON authors....
根据连接的方式和结果,SQL连接可以分为内连接、左连接、右连接、全连接和交叉连接等多种类型。 内连接 内连接是最基本的连接类型,它将两个表格中的数据根据某个条件连接起来。内连接可以分为等值连接、不等值...
SQL的几种连接:内连接、左联接、右连接、全连接、交叉连接
当使用`ON 1 = 1`作为连接条件时,交叉连接会返回两个表的所有可能组合,即每个左表的记录都会与右表的每条记录进行组合。例如: ```sql SELECT O.orderid, O.userid, U.userID, U.sname FROM t_order AS O CROSS ...
此外,还有交叉连接(CROSS JOIN),也称为笛卡尔积,它会返回左表的每一行与右表的每一行的组合,结果集的大小是两个输入表行数的乘积。 在SQL代码示例中,使用临时表`@TA`和`@TB`展示了不同类型的连接。内连接的...
全连接结合了左连接和右连接,返回两个表中所有记录,无论是否存在匹配。如果某条记录在其中一个表中没有匹配项,结果将用NULL填充缺失的列。 4. **内连接(Inner Join 或 Join)**: 内连接是最常见的连接类型,...
### SQL内连接与外连接详解 #### 一、SQL内连接(INNER JOIN) **定义**: 内连接(INNER JOIN)是一种最常用的连接方式,它仅返回两个数据集合中具有匹配关系的那些行。具体来说,它会从位于两个互相交叉的数据...
本文将详细介绍Oracle中的左连接(Left Join)、右连接(Right Join)、内连接(Inner Join)、全连接(Full Join)以及交叉连接(Cross Join)的方法,并通过示例来帮助理解每种连接的特点。 ### 一、左连接(Left...
本文将深入探讨几种主要的SQL连接查询类型,包括内连接(INNER JOIN)、外连接(FULL JOIN、LEFT JOIN、RIGHT JOIN)以及交叉连接(CROSS JOIN),并提供实例来帮助初学者理解。 首先,我们来看内连接(INNER JOIN...
SQL 中的表连接主要分为三种类型:内连接、外连接和交叉连接。 1. **内连接(INNER JOIN)**: 内连接返回两个表中满足特定条件的匹配行。这种连接类型又可以细分为等值连接、自然连接和不等连接。等值连接基于两个...
根据连接的方式不同,可以分为内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)以及全连接(FULL JOIN)等几种类型。 #### 二、连接查询类型详解 ##### 1. INNER JOIN (内连接) 内连接是最常用...
本文将详细解释五种主要的连接类型:外连接(外连接)、内连接(内连接)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)、全连接(FULL JOIN)以及交叉连接(CROSS JOIN)。 1. **内连接(INNER JOIN)**: 内连接...
本文主要讨论了四种类型的连接:内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)和全连接(FULL JOIN),这些都是SQL-92标准定义的FROM子句连接语法的一部分。 1. **内连接**: 内连接返回满足...
2)sql 99标准 **(推荐使用)** :支持内连接、外连接(左外 和 右外)、交叉连接 2.按功能分类: 1)内连接: 等值连接 非等值连接 自连接 2)外连接: 左外连接 ...
SQL 连接查询可以分为交叉连接、内连接、外连接等几种类型。 一、交叉连接(Cross Join) 交叉连接是 SQL 连接查询中的一种基本类型,它将两个表中的所有记录组合起来,形成一个新的表。交叉连接可以分为显式的和...
本文将详细介绍五种主要的`JOIN`类型:左连接(`LEFT JOIN`/`LEFT OUTER JOIN`)、右连接(`RIGHT JOIN`/`RIGHT OUTER JOIN`)、全连接(`FULL JOIN`/`FULL OUTER JOIN`)、内连接(`INNER JOIN`/`JOIN`)以及交叉连接(`...
接下来将详细解析左连接(Left Join)、右连接(Right Join)、内连接(Inner Join)、全外连接(Full Outer Join)、交叉连接(Cross Join)以及联合查询(Union)。 ### 左连接(Left Join) 左连接(Left Join...
交叉连接是一种特殊的连接类型,它返回左表和右表的所有可能组合。这意味着如果左表有m行,右表有n行,则结果集将包含m*n行。然而,除非有特定需求,否则交叉连接很少在实际应用中使用,因为其结果通常包含大量冗余...