Equijoin用于与同名属性的关系时

时间:2014-06-02 16:16:12

标签: database algebra relational

我最近遇到的一个问题一直困扰着我。

如果EquiJoin使用两个具有多个同名属性的关系,并且有多个值匹配,那么结果会是什么?例如,考虑以下内容:

R(A,B,C,D)和S(C,D,E,F)。

如果您将equijoin应用于上述内容,如下所示:

R(equi-join)(条件:R.C = S.C)S,结果关系将如何表现?我对两种关系的常见“D”属性及其在结果中的存在特别感兴趣。

非常感谢您的回答!

1 个答案:

答案 0 :(得分:0)

这应该回答你的问题:

表格地址

first_name  last_name  address
John        Miller     5 Miller Street
Jane        Smith      6 Smith Way
Jane        Becker     7 Becker Street

表格作业

first_name  last_name  job
John        Miller     milkman
Jane        Smith      software engineer
Jane        Becker     translator

<强>查询

select *
from addresses
inner join jobs on jobs.first_name = addresses.first_name

<强>结果

first_name  last_name  address          job
John        Miller     5 Miller Street  milkman
Jane        Smith      6 Smith Way      software engineer
Jane        Smith      6 Smith Way      translator
Jane        Becker     7 Becker Street  software engineer
Jane        Becker     7 Becker Street  translator

由于我们不是通过名字和姓氏加入,而是仅使用名字,我们会加入不属于一起的记录。