数据库管理系统连接:THETA 连接、内连接、外连接、等值连接类型
⚡ 智能摘要
在数据库管理系统中,连接(JOIN)是一种二元操作,它使用主键和外键将两个或多个表中的行合并在一起。连接分为内连接和外连接。内连接只返回匹配的行,而外连接则保留不匹配的行,并将不匹配的行用空值填充。

数据库管理系统中的连接(JOIN)是什么?
加入 DBMS 连接是一种二元运算,允许您在单个语句中组合连接结果和选择条件。创建连接条件的目的是合并来自两个或多个表的数据。这些表通过它们的主键关联起来。 外键.
连接类型
DBMS 中主要有两种类型的连接:
- 内连接:Theta、Natural、EQUI
- 外连接:左连接、右连接、全连接
下表预览了所有连接类型,然后通过示例对每种类型进行解释。
| 加入 | Returns & Exchanges | 不匹配的行 |
|---|---|---|
| 内在(Theta / EQUI / 自然) | 两个表中均符合条件的行 | 下降 |
| 左外 | 所有左侧行加上匹配项 | 左侧保持,右侧为空 |
| 右外 | 所有右行加匹配 | 右侧保持空白,左侧为空 |
| 全外层 | 两个表中的所有行 | 两者均不保留,缺失处为空 |
内部联接
内部联接 用于返回两个表中满足给定条件的行。它是最常用的连接操作,可以被视为默认的连接类型。
内连接(或等值连接)是一种基于比较器的连接,它在连接谓词中使用相等性比较。但是,如果使用其他比较运算符(例如“>”),则不能称为等值连接。内连接进一步分为三种子类型:
- Theta 加入
- 自然连接
- 加入EQUI
Theta 加入
Theta 加入 允许您根据 theta 表示的条件合并两个表。theta 连接适用于所有比较运算符。它用符号表示。 θJOIN 操作的一般情况称为 theta 连接。
语法:
A ⋈θ B
theta 连接可以使用选择条件中的任何条件。
请考虑下表。
| 表A | 表B. | |||
|---|---|---|---|---|
| 列1 | 列2 | 列1 | 列2 | |
| 1 | 1 | 1 | 1 | |
| 1 | 2 | 1 | 3 | |
例如:
A ⋈ A.column 2 > B.column 2 (B)
| A ⋈ A.列 2 > B.列 2 (B) | |
|---|---|
| 列1 | 列2 |
| 1 | 2 |
加入EQUI
加入EQUI 当 theta 连接仅使用等价条件时,就会发生这种情况。EQUI 连接是实现起来最困难的操作之一。 RDBMS这也是关系数据库管理系统可能出现性能问题的原因之一。
例如:
A ⋈ A.column 2 = B.column 2 (B)
| A ⋈ A.第 2 列 = B.第 2 列 (B) | |
|---|---|
| 列1 | 列2 |
| 1 | 1 |
自然连接(⋈)
自然加入 不使用任何比较运算符。在这种类型的连接中,属性必须具有相同的名称和域。在自然连接中,两个关系之间至少应该有一个公共属性。
它对两个关系中出现的属性进行选择,形成相等关系,并消除重复属性。
计费示例: 请看以下两张表格。
| C | |
|---|---|
| 序号 | 广场 |
| 2 | 4 |
| 3 | 9 |
| D | |
|---|---|
| 序号 | 鱼块 |
| 2 | 8 |
| 3 | 18 |
C ⋈ D
| C⋈D | ||
|---|---|---|
| 序号 | 广场 | 鱼块 |
| 2 | 4 | 8 |
| 3 | 9 | 18 |
外连接
An 外连接 并不要求两个连接表中的每条记录都有匹配的记录。在这种类型的连接中,即使不存在其他匹配的记录,表中也会保留每条记录。外连接的三种类型是:
- 左外连接
- 右外连接
- 完全外部加入
左外连接(A⟕B)
左外连接 返回左侧表格中的所有行,即使右侧表格中没有找到匹配的行。如果右侧表格中没有找到匹配的记录,则返回 null。
请看以下两张表格。
| A | |
|---|---|
| 序号 | 广场 |
| 2 | 4 |
| 3 | 9 |
| 4 | 16 |
| B | |
|---|---|
| 序号 | 鱼块 |
| 2 | 8 |
| 3 | 18 |
| 5 | 75 |
AB
| A ⟕ B | ||
|---|---|---|
| 序号 | 广场 | 鱼块 |
| 2 | 4 | 8 |
| 3 | 9 | 18 |
| 4 | 16 | – |
右外连接 (A ⟖ B)
右外连接 返回右侧表中的所有列,即使左侧表中没有找到匹配的行。如果左侧表中没有匹配项,则返回 null。右外连接与左连接相反。
AB
| A ⟖ B | ||
|---|---|---|
| 序号 | 鱼块 | 广场 |
| 2 | 8 | 4 |
| 3 | 18 | 9 |
| 5 | 75 | – |
全外连接 (A ⟗ B)
在一个 完全外部加入,无论匹配条件如何,来自两个关系的所有元组都包含在结果中。
计费示例:
AB
| A ⟗ B | ||
|---|---|---|
| 序号 | 广场 | 鱼块 |
| 2 | 4 | 8 |
| 3 | 9 | 18 |
| 4 | 16 | – |
| 5 | – | 75 |


