原文转自:
关系代数运算之笛卡尔积、等值连接、自然连接、内连接的区别_Edith的博客-CSDN博客_关系代数笛卡尔积blog.csdn.net1. 笛卡尔积
对两个关系R和S进行操作,产生的关系中元组个数为两个关系中元组个数之积。2. 等值联接(内连接的一个子集)
在笛卡尔积的结果上再进行选择操作,挑选关系第i个分量与第(r+j)个分量值相等的元组3. 自然连接(后面不加on或where)
在等值联接(以公共属性值相等为条件)的基础上再行投影操作,去掉S中的公共属性列,当两个关系没有公共属性时,自然连接就转化成笛卡尔积4.内连接
即默认连接A inner join B on sth
等同于A join B on sth
,同理A nature inner join B
等同于A nature join B
直接上图
Student表:
Score表:
1. 笛卡尔积
SQL语句select * from Student, Score
,结果太长只展示一部分。关系代数形式如下:
2. 等值连接(内连接的一个子集)
Sno相等的连接在一起,内连接SQL语句表达为select * from Student inner join Score on Student.Sno = Score.Sno
等价于select * from Student join Score on Student.Sno = Score.Sno
,关系代数形式如下:
3. 自然连接
去掉了一个相等的Sno列,SQL语句select * from Student natural join Score
,关系代数形式如下: