MySQL之联结(join)操作类型概念总结

连结(join)操作有好几种类型,很容易混淆掉的,今天我做一总结,以做更深层次的理解。

从联结约束检举程序上来分,联结操作可以有以下三种:

    A、条件联结:联结时要有联结条件的

    B、同等联结:联结时要求两个属性值必须相等 

    C、笛卡儿积(cross join 交叉联结):无须满足任何条件。

下面我列出在RDBS中有可能遇到的各种JOIN操作的类型:

    1、内联结:对两个关系进行联结,返回匹配的元祖。

    2、外联结:分为左、右、全外联结,至少返回FROM子句所列出的其中的一个表或视图的全部行——只要那些行满足全部的WHERE搜索条件。但左、右、全外联结返回结果大有不同,下面分作解释。

           左外联结:返回位于联结操作符左侧的那个表的全部行;

          右外联结:对两个关系进行联结,返回匹配的元祖和位于联结操作符右侧的那个表的全部元祖;

          全外联结:返回位于联结操作符左、右两侧的两个表的所有元祖。

  注意:不匹配的行的属性值将返回为空值,比如某字段不匹配,将以空值null的形式显示于结果中。

   3、叉积联结:对两个关系进行联结,把第一个关系里的每一个元祖映射到另一个关系里的全部元祖上。

   4、并,对两个有着同样结构的关系进行联结,只返回满足条件的匹配,相当于数据集合理论中的“并”操作。

   5、交,对两个有着同样结构的关系进行联结,只返回不满足条件的匹配,相当于数据集合理论中的“交”操作。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值