数据库里面自连接和内连接区别是什么?

数据库里面自连接和内连接区别是什么?,第1张

自连接就是自己连接自己,比如

select * from A a1 join A a2 where a1.pid=a2.pid

前提是表A要有自参照外键

内连接就是不同的表直接的等值连接。。。。

比如

select * from A inner join B on A.xx=B.yy where 条件

是相同的属性组即要求必须有相同的值域即可自然连接。

自然连接是一种特殊的等值连接,他要求两个关系表中进行比较的必须是相同的属性列,无须添加连接条件,并且在结果中消除重复的属性列。

在连接运算当中,一种最常用的连接是自然连接。如果关系R与S具有相同的属性组B,且该属性组的值相等时的连接称为自然连接,结果关系的属性集合为R的属性并上S减去属性B的属性集合。

R和S自然连接可记作:R⋈S={t r⌒ts |tr∈R∧ts∈S∧tr[A]=ts[B]}[3]

自然连接也可看作是在广义笛卡尔积R×S中选出同名属性上符合相等条件元组,再进行投影,去掉重复的同名属性,组成新的关系。

自然连接与等值连接的区别

1. 等值连接中不要求属性值完全相同,而自然连接要求两个关系中进行比较的必须是相同的属性组(属性名可以不同),即要求必须有相同的值域。

2. 等值连接不将重复属性去掉,而自然连接去掉重复属性,也可以说,自然连接是去掉重复列的等值连接。

自然连接外连接

如果把舍弃的元组也保存在结果关系中,而在其他属性上空值,那么这种连接就叫外连接。如果只把左边关系R要舍弃的元组保留就叫左外连接,如果只把右边关系S中要舍弃的元组保留右外连接。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6701786.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存