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

本文详细介绍了数据库中的JOIN操作,包括笛卡尔积、θ Join、等值Join、自然Join和外连接(左、右、全),并举例说明了各种JOIN在SQL中的实现方式,帮助读者理解如何在不同情况下连接多个表。
摘要由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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值