admin 管理员组文章数量: 1086019
2024年3月12日发(作者:pycharm和anaconda的区别)
笛卡尔积、等值连接、自然连接的联系与区别
虽然naturaljoin(自然连接)实际上的用的比较少,但实际上这个连接是非常有用的,
若能经常使用一下,实际上是非常方便的。
自然连接是在两张表中寻找那些数据类型和列名都相同的字段,然后自动地将他们连
接起来,并返回所有符合条件按的结果。
来看一下自然连接的例子。
,
Fromempnaturaljoindept;
这里我们并没有指定连接的条件,实际上oracle为我们自作主张的将,emp中的
deptno和dept中的deptno做了连接。
也就是实际上相当于
,
=;
因为这两张表的这两个字段deptno的类型个名称完全相同。所以使用naturaljoin
时被自然的连接在一起了。
另外:
1.如果做自然连接的两个表的有多个字段都满足有相同名称个类型,那么他们会被作
为自然连接的条件。
2.如果自然连接的两个表仅是字段名称相同,但数据类型不同,那么将会返回一个错
误。
3.由于oracle中可以进行这种非常简单的naturaljoin,我们在设计表时,应该尽量在
不同表中具有相同含义的字段使用相同的名字和数据类型。以方便以后使用naturaljoin
最后我们在前面举的例子都得到以下的结果:
SQL>,
2Fromempnaturaljoindept;
ENAMEDNAME
——————–—————-
SMITHRESEARCH
ALLENSALES
WARDSALES
JONESRESEARCH
MARTINSALES
BLAKESALES
CLARKACCOUNTING
SCOTTRESEARCH
KINGACCOUNTING
TURNERSALES
ADAMSRESEARCH
JAMESSALES
FORDRESEARCH
MILLERACCOUNTING
内连接与等值连接是一回事情。
经常有人会问到,oma,=
,=.有什么区别,哪个效率更高一些。
实际上一回事情了。只是内连接是由SQL1999规则定的书写方式。两个说的是一码
事。
等值连接
等值连接是条件连接在连接运算符为“=”号时的特例。
它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组
自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属
性组,并且在结果中把重复的属性列去掉
等值连接表示为RA=BS,自然连接表示为RS;自然连接是除去重复属性的等值连接。
两者之间的区别和联系如下:
1、自然连接一定是等值连接,但等值连接不一定是自然连接。等值连接不把重复的属
性除去;而自然连接要把重复的属性除去。
2、等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是
公共属性。
3、等值连接不把重复的属性除去;而自然连接要把重复的属性除去。
版权声明:本文标题:笛卡尔积、等值连接、自然连接的联系与区别 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1710173034a560818.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论