数据库工程师考试自学(3)---关系运算之连接

join,中文在《数据库系统工程师教程》中翻译为连接,在《SQL server 编程必知必会》中翻译为联结。为避免不一致,本文不进行翻译,直接引用英文原词JOIN. 关系模式,元组,属性等术语出现于关系代数里,而表,行,列等术语出现于SQL语言。本文统一使用更直接的SQL语言中的术语。 Join是关系运算中相当重要的运算符。其本质是把多个表中的行进行连接。而如何连接各个表中的行就成
摘要由CSDN通过智能技术生成

join,中文在《数据库系统工程师教程》中翻译为连接,在《SQL server 编程必知必会》中翻译为联结。为避免不一致,本文不进行翻译,直接引用英文原词JOIN.

 

关系模式,元组,属性等术语出现于关系代数里,而表,行,列等术语出现于SQL语言。本文统一使用更直接的SQL语言中的术语。

 

Join是关系运算中相当重要的运算符。其本质是把多个表中的行进行连接。而如何连接各个表中的行就成为不同join的分类依据。

 

参与join的表中,一般都包含能比较的列属性。如何对这些属性列进行比较就是不同join的标准。

 

设参与Join的两个表为R(A,B,C),S(D,E,A)。

(1)根本不进行任何比较

        这就是笛卡尔乘积,即对于每个表中的每一行,其他表中的任意行都与其进行连接。

        在关系代数中记做:RXS

        在SQL中,为select * from R, S

 

(2) θ Join

       对于R中的每一行的参与比较的列与S表中的每一行对应的列进行比较,看是否满足 θ。θ可以为大于,小于,等其他任何逻辑运算符。

       例如要比较的是R.A和S.A,标准是R.A > S.A。

       关系代数中记为:R(呵呵还不会输入)S

       SQL中:select * from R inner join S on R.A > S.A

       运算原理为:对于R

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值