关系联接查询

本文详细介绍了关系数据库中的连接操作,包括基本分类如连接成分、连接条件和连接类型。解释了不同类型的连接如自然连接、内连接、左外连接、右外连接及全外连接的概念与应用场景,并通过实例展示了各种连接方式的结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值