SQL Left Join, Right Join, Inner Join, and Natural Join

最近在准备sql题目,才发现之前sql学的真的太差,此处记录整理一些join的相关知识,方便之后回顾。

Left Join, Right Join, Inner Join(join),Full Join:

https://www.cnblogs.com/grandyang/p/5346963.html

 

这个链接里这一块解释的很清晰,这些join的主要区别是两表未匹配上的数据如何处理,其实按照字面理解就可以了:

left join:返回左表的所有行和匹配的右表的行,如果没有匹配上的用NULL。

right join:返回右表的所有行和匹配的左表的行,如果没有匹配上的用NULL。

Inner join:选择左右表中关键字匹配上的行。

full join:返回左表的所有行和右表的所有行,是左交和右交的联合。

 

Natural Join:

https://www.cnblogs.com/liulaoshi/p/6219540.html

natural join就相当于省略了join的on条件,会自动把所有名字相同的列进行等值匹配。

natural join:自然连接(不允许带on/using)

     natrual join:全自然连接,对左右2个表相同名字的列进行等值匹配,不可用on,using操作指定,自动删除多余重名列

     natrual left join:左自然连接,保留2个表的列(删除多余重名列),以左表为准,不存在匹配的右表列,值置为NULL

     natrual right join:和左自然连接相反

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值