前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据库 连接(JOIN)

数据库 连接(JOIN)

作者头像
lzugis
发布2018-10-23 16:03:58
6200
发布2018-10-23 16:03:58
举报
文章被收录于专栏:跟牛老师一起学WEBGIS

连接也称为θ连接。它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。

连接运算中有两种最为重要的连接,一种是等值连接(Equijoin),另一种是自然连接(Nature Join)等值连接是从关系R和S中的笛卡尔积中选取A,B属性值相等的那些元组;自然连接它要求两个关系中进行比较的分量必须是相同的属性组,并且把结果中重复的属性列去掉。

Example:  

代码语言:javascript
复制
create table R (
   A varchar2(10),
   B varchar2(10),
   C varchar2(10)
);

insert into R(A,B,C) values ('a1','b1','5');
insert into R(A,B,C) values ('a1','b2','6');
insert into R(A,B,C) values ('a2','b3','8');
insert into R(A,B,C) values ('a2','b4','12');

create table S(
     B varchar2(10),
     D varchar2(10)
);

insert into S(B,D) values ('b1','3');
insert into S(B,D) values ('b2','7');
insert into S(B,D) values ('b3','10');
insert into S(B,D) values ('b3','2');
insert into S(B,D) values ('b5','2');
commit;  

R

A

B

C

a1

b1

5

a1

b2

6

a2

b3

8

a2

b4

12

S

B

D

b1

3

b2

7

b3

10

b3

2

b5

2

关系R和关系S分别如上图所示。

1、一般连接(C<D)

R-S(C<E)

A

R.B

C

S.B

D

a1

b1

5

b1

3

a1

b1

5

b2

10

a1

b2

6

b2

7

a1

b2

6

b3

10

a2

b3

8

b3

10

2、等值连接(select * from (select * from R) R join (select * from S) S on R.B=S.B)

A

R.B

C

S.B

D

a1

b1

5

b1

3

a1

b2

6

b2

7

a2

b3

8

b3

10

a2

b3

8

b3

2

3、自然连接(select A,S.B(R.B)as B,C,D from (select * from R) R join (select * from S) S on R.B=S.B)

A

B

C

D

a1

b1

5

3

a1

b2

6

7

a2

b3

8

10

a2

b3

8

2

4、外连接(Outer JOIN)

A

B

C

D

a1

b1

5

3

a1

b2

6

7

a2

b3

8

10

a2

b3

8

2

a2

b4

12

NULL

NULL

b5

NULL

2

4.1 左外连接(Left Join:select A,S.B(R.B) as B,C,D from (select * from R) R Left join (select * from S) S on R.B=S.B)

只保留左边关系R中要舍弃的元组。

A

B

C

D

a1

b1

5

3

a1

b2

6

7

a2

b3

8

10

a2

b3

8

2

a2

b4

12

NULL

4.2 右外连接(Right Join:select A,S.B(R.B) as B,C,D from (select * from R) R right join (select * from S) S on R.B=S.B)

只保留右边关系S中要舍弃的元组。

A

B

C

D

a1

b1

5

3

a1

b2

6

7

a2

b3

8

10

a2

b3

8

2

NULL

b5

NULL

2

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2013年04月07日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档