當且僅當滿足給定的連接條件時,連接操作才組合來自不同關係的相關元組。 它用⋈符號來表示。
示例:
員工(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 | 
