什么叫内连接、外连接、左连接、右连接?求解答

 我来答
霂棪爱娱乐
高能答主

2021-09-27 · 用力答题,不用力生活
知道大有可为答主
回答量:6736
采纳率:99%
帮助的人:109万
展开全部

内连接、外连接、左连接、右连接分别是:

1、内连接:是一种最常用的连接类型。内连接查询实际上是一种任意条件的查询。使用内连接时,如果两个表的相关字段满足连接条件,就从这两个表中提取数据并组合成新的记录,也就是在内连接查询中,只有满足条件的元组才能出现在结果关系中。

2、外连接分为三种:左外连接,右外连接,全外连接。会返回每个满足第一个(顶端)输入与第二个(底端)输入的联接的行。它还返回任何在第二个输入中没有匹配行的第一个输入中的行。

3、左外连接:如果在连接查询中,连接管子左端的表中所有的元组都列出来,并且能在右端的表中找到匹配的元组,那么连接成功。如果在右端的表中,没能找到匹配的元组,那么对应的元组是空值(NULL)。

4、右外连接:与左外连接类似,只是右端表中的所有元组都列出,限制左端表的数据必须满足连接条件,而不管右端表中的数据是否满足连接条件,均输出表中的内容。

婷3119
2013-10-28 · 超过59用户采纳过TA的回答
知道答主
回答量:170
采纳率:100%
帮助的人:54万
展开全部
又连接显示右边表的所有行
外连接显示所有表的所有行
内联界,显示能连接的所有行Top内联接 (inner join)
通过比较源表间共享的列的值从多个源表检索行的操作。内联接排除来自不具有与其它源表中的行匹配的行的源表的行 孤陋寡闻啊。。例子:
--关于连接的简单示例--测试数据declare @a table(ida int)
insert @a select 1
union all select 2
declare @b table(idb int)
insert @b select 2
union all select 3--内连接select * from @a a join @b b on a.ida=b.idb
/*--测试结果
只返回两个表中ida与idb相同的记录ida idb----------- -----------2 2
(所影响的行数为 1 行)--*/--左连接select * from @a a left join @b b on a.ida=b.idb
/*--测试结果
返回@a(左边表)所有的记录,及@b的idb与@a的ida对应的记录
没有对应的就用null表示ida idb----------- -----------1 NULL2 2
(所影响的行数为 2 行)--*/--右连接select * from @a a right join @b b on a.ida=b.idb
/*--测试结果
返回@b(右边表)所有的记录,及@b的idb与@a的ida对应的记录
没有对应的就用null表示ida idb----------- -----------2 2NULL 3
(所影响的行数为 2 行)--*/--全连接select * from @a a full join @b b on a.ida=b.idb
/*--测试结果
返回@a与@b的所有记录,没有对应的用NULL表示ida idb----------- -----------2 2NULL 31 NULL(所影响的行数为 3 行)--*/
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式