关系联接查询

来源:互联网 发布:js侧边栏 编辑:程序博客网 时间:2024/05/21 07:10
l
 

l      基本分类

        连接成分

包括两个输入关系、连接条件、连接类型

        连接条件

决定两个关系中哪些元组相互匹配,以及连接结果中出现哪些属性

        连接类型

决定如何处理与连接条件不匹配的元组


连接类型 连接条件

inner join

left outer join

right outer join

full outer join

nature

on <谓词>

using (A1, A2 ,…, An)

    自然连接

l      出现在结果关系中的两个连接关系的元组在公共属性上取值相等,且公共属性只出现一次

    on <谓词P>

l      出现在结果关系中的两个连接关系的元组在公共属性上取值满足谓词条件P,且公共属性出现两次

    using (A1, A2 ,…, An)

l       (A1, A2 ,…, An)是两个连接关系的公共属性的子集,元组在(A1, A2 ,…, An)上取值相等,且(A1, A2 ,…, An)只出现一次

    内连接

l      舍弃不匹配的元组

    左外连接

l      内连接+左边失配的元组(缺少的右边关系属性用null

    右外连接

l      内连接+右边失配的元组(缺少的左边关系属性用null

    全外连接

l      内连接 + 左边失配的元组(缺少的右边关系属性用null+ 右边失配的元组(缺少的左边关系属性用null

R

A

B

C

a1

b1

c1

a2

b2

c2

a3

b3

c3

 
S

C

D

c1

d1

c2

d2

c4

d4



R  inner join S on R.C = S.C

A

B

C

C

D

a1

b1

c1

c1

d1

a2

b2

c2

c2

d2

R  left outer join S on R.C = S.C
 

A

B

C

C

D

a1

b1

c1

c1

d1

a2

b2

c2

c2

d2

a3

b3

c3

null

null

R  nature right outer join S
 

A

B

C

D

a1

b1

c1

d1

a2

b2

c2

d2

null

null

null

d4

R  full  outer join  S  on  R.C = S.C

A

B

S.C

R.C

D

a1

b1

c1

c1

d1

a2

b2

c2

c2

d2

a3

b3

c3

null

null

null

null

null

c4

d4

 
原创粉丝点击