当且仅当满足给定的连接条件时,连接操作才组合来自不同关系的相关元组。 它用⋈符号来表示。
示例:
员工(EMPLOYEE)表 - 
| EMP_CODE | EMP_NAME | 
|---|---|
| 101 | Stephan | 
| 102 | Jack | 
| 103 | Harry | 
薪水(SALARY)表 - 
| EMP_CODE | SALARY | 
|---|---|
| 101 | 50000 | 
| 102 | 30000 | 
| 103 | 25000 | 
操作符号:
 (EMPLOYEE ⋈ SALARY)
输出结果如下:
| EMP_CODE | EMP_NAME | SALARY | 
|---|---|---|
| 101 | Stephan | 50000 | 
| 102 | Jack | 30000 | 
| 103 | Harry | 25000 | 
连接操作的类型:

1.自然连接
自然连接是R和S中所有组合的元组集,它们的公共属性名称相等。它用符号⋈表示。
示例 :使用上面的EMPLOYEE表和SALARY表:
输入:
∏EMP_NAME, SALARY (EMPLOYEE ⋈ SALARY)
输出结果如下 -
| EMP_NAME | SALARY | 
|---|---|
| Stephan | 50000 | 
| Jack | 30000 | 
| Harry | 25000 | 
2. 外部连接
外连接操作是连接操作的扩展,它用于处理缺失的信息。
示例:
EMPLOYEE 表的结构和数据如下 - 
| EMP_NAME | STREET | CITY | 
|---|---|---|
| Ram | Civil line | Mumbai | 
| Shyam | Park street | Kolkata | 
| Ravi | M.G. Street | Delhi | 
| Hari | Nehru nagar | Hyderabad | 
FACT_WORKERS 表的结构和数据如下 - 
| EMP_NAME | BRANCH | SALARY | 
|---|---|---|
| Ram | Infosys | 10000 | 
| Shyam | Wipro | 20000 | 
| Kuber | HCL | 30000 | 
| Hari | TCS | 50000 | 
输入 -
(EMPLOYEE ⋈ FACT_WORKERS)
| EMP_NAME | STREET | CITY | BRANCH | SALARY | 
|---|---|---|---|---|
| Ram | Civil line | Mumbai | Infosys | 10000 | 
| Shyam | Park street | Kolkata | Wipro | 20000 | 
| Hari | Nehru nagar | Hyderabad | TCS | 50000 | 
外连接基本上有三种类型:
- 左外连接
- 右外连接
- 全外连接
A. 左外连接:
- 左外连接包含R和S中所有组合的元组集,它们的公共属性名称相等。
- 在左外连接中,R中的元组但在S中没有匹配的元组。
- 它用⟕表示。
示例:使用上面的EMPLOYEE表和FACT_WORKERS表
输入 -
EMPLOYEE ⟕ FACT_WORKERS
输出 -
| EMP_NAME | STREET | CITY | BRANCH | SALARY | 
|---|---|---|---|---|
| Ram | Civil line | Mumbai | Infosys | 10000 | 
| Shyam | Park street | Kolkata | Wipro | 20000 | 
| Hari | Nehru street | Hyderabad | TCS | 50000 | 
| Ravi | M.G. Street | Delhi | NULL | NULL | 
B. 右外连接:
- 右外连接包含R和S中所有组合的元组集,它们的公共属性名称相等。
- 在右外连接中,S中的元组在R中没有匹配的元组。
- 它使用⟖表示。
输入 -
EMPLOYEE ⟖ FACT_WORKERS
输出 -
| EMP_NAME | BRANCH | SALARY | STREET | CITY | 
|---|---|---|---|---|
| Ram | Infosys | 10000 | Civil line | Mumbai | 
| Shyam | Wipro | 20000 | Park street | Kolkata | 
| Hari | TCS | 50000 | Nehru street | Hyderabad | 
| Kuber | HCL | 30000 | NULL | NULL | 
C. 全外连接:
- 完全外连接类似于左连接或右连接,除了它包含来自两个表的所有行。
- 在完全外连接中,包含R中的元组在S中没有匹配的元组,S中的元组在其公共属性名称中的R中没有匹配的元组。
- 它使用⟗表示。
示例: 使用上面的EMPLOYEE表和FACT_WORKERS表
输入 -
EMPLOYEE ⟗ FACT_WORKERS
输出 -
| EMP_NAME | STREET | CITY | BRANCH | SALARY | 
|---|---|---|---|---|
| Ram | Civil line | Mumbai | Infosys | 10000 | 
| Shyam | Park street | Kolkata | Wipro | 20000 | 
| Hari | Nehru street | Hyderabad | TCS | 50000 | 
| Ravi | M.G. Street | Delhi | NULL | NULL | 
| Kuber | NULL | NULL | HCL | 30000 | 
3. 相等连接
它也被称为内连接,这是最常见的加入。 它基于相等条件的匹配数据。相等连接使用比较运算符(=)。
示例:
CUSTOMER 表 -
| CLASS_ID | NAME | 
|---|---|
| 1 | John | 
| 2 | Harry | 
| 3 | Jackson | 
PRODUCT 表 - 
| PRODUCT_ID | CITY | 
|---|---|
| 1 | Delhi | 
| 2 | Mumbai | 
| 3 | Noida | 
输入 -
CUSTOMER ⋈ PRODUCT
输出 -
| CLASS_ID | NAME | PRODUCT_ID | CITY | 
|---|---|---|---|
| 1 | John | 1 | Delhi | 
| 2 | Harry | 2 | Mumbai | 
| 3 | Harry | 3 | Noida | 
