笛卡尔乘积与数据库连接(join)

一、笛卡尔乘积与数据库连接(join)

数据库连接是从两个关系的笛卡尔乘积中选取属性间满足一定条件的元组。


现有两个关系R、S:
关系R:
关系R
关系S:
关系S
关系R与S的笛卡尔乘积为:
笛卡尔乘积
在连接中有两种非常重要的连接:等值连接与自然连接。
等值连接:(条件R.B = S.B)
这里写图片描述
当然也可以有非等值连接(比如R.C < S.E)
自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是同名的属性值,并且在结果中把重复的属性列去掉。
自然连接:
自然连接


在自然连接时候,关系R中的某些元祖有可能在S中不存在公共属性值相等的元祖,从而造成R中的这些元祖丢失了,同样,S中有些元祖也可能被舍弃。这些舍弃的元祖被称为悬浮元祖。
如果把悬浮元祖也保留在结果关系中,而在其他属性上填空值(null),那么这种连接称为外连接;只保留左边关系R中的悬浮元祖称为左外连接;只保留右边关系的悬浮元祖称为右外连接
外连接:
外连接
左外连接:
左外连接
右外连接
右外连接
注意:left outer on … where …在on后的条件跟在where后的条件不一样。
on后的:右表记录能不能跟左表连接的条件
where后的:连接完成后进行筛选

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值