数据库join的用法概览

在关系代数中,连接运算是由一个笛卡尔积运算和一个选取运算运构成的.首先用笛卡尔积完成对两个数据集合的乘积的运算,然后对省城的结果集合进行选区运算,确保只把分别来自两个数据集合并且具有重叠部分的行合并在一起.连接的全部意义就在于在水平方向上合并两个数据集合(通常是表),并产生一个新的结果集合,其方法是将一个数据源中的行于另一个数据源中和它匹配的行组合成一个新元祖.sql提供了多种类型的连接方式,他们之间的区别在于:从相互交叠的不同数据集合中选择用于将连接的行时所采用的方法不同.

不同的sql join

1.inner join

内连接是最常见的一种连接,它也被称为普通连接,只连接匹配就行(仅对满足条件的cross中的列).它又分为等值连接(连接条件运算符为”=”)和不等值连接(连接条件运算符不为”=”,例如between…and)

2.outer join

(1)full outer join full
join会从左表和右表那里返回所有的行.如果其中一个表的数据行在另一个表中没有匹配的行,那么对面的数据用null代替
(2)left outer join
join返回左表的全部行和右表满足on条件的行,如果左表的行在有右表中没有匹配,那么这一行右表中的数据用null代替
(3)right outer join
join返回右表的全部行和左表满足on条件的行,如果右表的行在左表中没有匹配,那么这一行左表中对应的数据用null代替.

3.cross join

cross对两个表执行笛卡尔乘积,他为左表行和右表行的每种可能的组合返回一行,返回(左表行数*右表行数)行的表

4.Appendix

(1)Natural join
自然连接是一种特殊的等值连接,在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表支出查询结果的结果集合中所包括的列,并删除连接表中的重复列.
(2)自连接 某个表和其自身连接,常用在同一表内不同数据间对同一列的比较

本文摘自博文:https://blog.csdn.net/u012861978/article/details/52203818

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值