DBMS連線操作


當且僅當滿足給定的連線條件時,連線操作才組合來自不同關係的相關元組。 它用?符號來表示。

範例:

員工(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.自然連線

自然連線是RS中所有組合的元組集,它們的公共屬性名稱相等。它用符號?表示。
範例 :使用上面的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. 左外連線:

  • 左外連線包含RS中所有組合的元組集,它們的公共屬性名稱相等。
  • 在左外連線中,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. 右外連線:

  • 右外連線包含RS中所有組合的元組集,它們的公共屬性名稱相等。
  • 在右外連線中,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