Inner Join、Left Join、Right Join 有啥区别?

1)Inner Join 会返回两个表中满足连接条件的交集。当两个表的连接字段都存在匹配的行时,这条行才会出现在结果集中。举个例子:当 user 表跟 class 表中都存在 userId = 1 的字段时,userId 为 1 的这一行才会出现在返回的结果集。

2)Left Join 会返回左表(左边表)的所有行,以及右表中与左表匹配的行。如果右表中没有匹配的行,则会返回 NULL 值。

3)Right JoinLeft Join 相反,它会返回右表(右边表)的所有行,以及左表中与右表匹配的行。如果左表中没有匹配的行,则会返回 NULL 值。

需要注意的是并不是每个 Right JoinLeft Join 的查询条数都等于左边表或者右边表:

1)当使用 Left Join 时,结果行数的范围表示为:左表行数 <= 结果行数 <= 左表行数 + 右表匹配行数。

2)当使用 Right Join 时,结果行数的范围表示为:右表行数 <= 结果行数 <= 右表行数 + 左表匹配行数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值