sql server 什么是全外连接,左外连接,右外连接,它们的区别又是什么?

 我来答
59分粑粑分享生活
高粉答主

2020-03-22 · 专注生活好物分享,解答日常方方面面的问题
59分粑粑分享生活
采纳数:326 获赞数:119835

向TA提问 私信TA
展开全部

全外连接就是左外连接和右外连接的结合。

左外连接和右外连接的区别如下:

1、数据集合上的区别

(1)左外连接:是A与B的交集,然后连接A的所有数据。

(2)右外连接:是A与B的交集,然后连接B的所有数据。

2、计算方法上的区别

(1)左外连接:计算方法是,A左连接B记录=表3的公用记录集C +表A的记录集A1。

(2)右外连接:计算方法是,A右连接B记录=图3公共部分记录集C +表B记录集B1。

3、语法上的区别

(1)左外连接:SELECT * FROM aleft OUTER JOIN bON a.`ageId` = b.`id`。

(2)右外连接:SELECT * FROM aright OUTER JOIN bON a.`ageId` = b.`id`。

putx926
推荐于2017-09-26 · TA获得超过787个赞
知道小有建树答主
回答量:129
采纳率:0%
帮助的人:158万
展开全部
简单来讲,随便来个例子:
A表 B表
id name id name
1 a 1 b
2 b 3 c
4 c
左外连接就是以左表为准,去匹配右表,左表有多少条数据,结果就是多少条数据
select * from A left join B on A.id=B.id
id name id name
1 a 1 b
2 b null null
4 c null null
右外连接就是与左外连接反之,以右表为准,去匹配左表,右表有多少条数据,结果就是多少条数据
select * from A right join B on A.id=B.id
id name id name
1 a 1 b
null null 3 c
全外连接数据条数不一定,相当与是左外连接 和右外连接 的综合
select * from A full join B on A.id=B.id
id name id name
1 a 1 b
2 b null null
null null 3 c
4 c null null

希望你能明白!!!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ecc263c
2011-10-29 · TA获得超过624个赞
知道小有建树答主
回答量:478
采纳率:100%
帮助的人:379万
liushaojie1988
2011-10-29 · TA获得超过227个赞
知道小有建树答主
回答量:716
采纳率:50%
帮助的人:230万
展开全部

inner join
left join
right join
cross join (交叉连接)
这个还是查下相关资料吧,敲起来太费劲啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式