个性化阅读
专注于IT技术分析

DBMS join操作详解

且仅当满足给定的连接条件时, Join操作才会组合来自不同关系的相关元组。用⋈表示。

例:

雇员

EMP_CODE EMP_NAME
101 Stephan
102 Jack
103 Harry

薪水

EMP_CODE 薪水
101 50000
102 30000
103 25000
Operation: (EMPLOYEE ⋈ SALARY)

结果:

EMP_CODE EMP_NAME 薪水
101 Stephan 50000
102 Jack 30000
103 Harry 25000

联接操作的类型

DBMS join操作

1.自然加入:

  • 自然联接是R和S中所有组合的元组集合, 它们的公共属性名称相同。
  • 用⋈表示。

示例:让我们使用上面的EMPLOYEE表和SALARY表:

输入:

∏EMP_NAME, SALARY (EMPLOYEE ⋈ SALARY)

输出:

EMP_NAME 薪水
Stephan 50000
Jack 30000
Harry 25000

2.外加入:

外部联接操作是联接操作的扩展。它用于处理丢失的信息。

例:

雇员

EMP_NAME
Ram 民用线 Mumbai
Shyam 公园街 Kolkata
Ravi 硕士街 Delhi
Hari Nehru nagar Hyderabad

FACT_WORKERS

EMP_NAME 薪水
Ram Infosys 10000
Shyam Wipro 20000
Kuber HCL 30000
Hari TCS 50000

输入:

(EMPLOYEE ⋈ FACT_WORKERS)

输出:

EMP_NAME 薪水
Ram 民用线 Mumbai Infosys 10000
Shyam Park street Kolkata Wipro 20000
Hari Nehru nagar Hyderabad TCS 50000

外部联接基本上分为三种类型:

  1. 左外连接
  2. 右外连接
  3. 完全外部联接

一种。左外连接:

  • 左外部联接包含R和S中所有组合的元组集合, 它们的公共属性名称相同。
  • 在左外部联接中, R中的元组没有S中的匹配元组。
  • 用⟕表示。

示例:使用上面的EMPLOYEE表和FACT_WORKERS表

输入:

EMPLOYEE ⟕ FACT_WORKERS

EMP_NAME 薪水
Ram 民用线 Mumbai Infosys 10000
Shyam 公园街 Kolkata Wipro 20000
Hari 尼赫鲁街 Hyderabad TCS 50000
Ravi 硕士街 Delhi NULL NULL

b。右外连接:

  • 右外连接包含R和S中所有组合的元组集合, 它们的公共属性名称相同。
  • 在右外部联接中, S中的元组在R中没有匹配的元组。
  • 用⟖表示。

示例:使用上面的EMPLOYEE表和FACT_WORKERS关系

输入:

EMPLOYEE ⟖ FACT_WORKERS

输出:

EMP_NAME 薪水
Ram Infosys 10000 Civil line Mumbai
Shyam Wipro 20000 公园街 Kolkata
Hari TCS 50000 尼赫鲁街 Hyderabad
Kuber HCL 30000 NULL NULL

C。完全外部联接:

  • 完全外部联接类似于左联接或右联接, 但它包含两个表中的所有行。
  • 在完全外部联接中, R的公共属性名称中的元组在S中没有匹配的元组, 而S的元组在R中没有匹配的元组。
  • 用⟗表示。

示例:使用上面的EMPLOYEE表和FACT_WORKERS表

输入:

EMPLOYEE ⟗ FACT_WORKERS

输出:

EMP_NAME 薪水
Ram 民用线 Mumbai Infosys 10000
Shyam Park street Kolkata Wipro 20000
Hari Nehru street Hyderabad TCS 50000
Ravi 硕士街 Delhi NULL NULL
Kuber NULL NULL HCL 30000

3.平等加入:

也称为内部联接。这是最常见的连接。它根据相等条件基于匹配的数据。等值联接使用比较运算符(=)。

例:

客户关系

班级号 NAME
1 John
2 Harry
3 Jackson

产品

PRODUCT_ID
1 Delhi
2 Mumbai
3 Noida

输入:

CUSTOMER ⋈ PRODUCT

输出:

班级号 NAME PRODUCT_ID
1 John 1 Delhi
2 Harry 2 Mumbai
3 Harry 3 Noida
赞(0)
未经允许不得转载:srcmini » DBMS join操作详解

评论 抢沙发

评论前必须登录!