outer join 和 inner join 有什么差别??

 我来答
冰封少尉
推荐于2017-09-20 · TA获得超过486个赞
知道小有建树答主
回答量:529
采纳率:0%
帮助的人:468万
展开全部
inner join是内连接,查询两个表中字段的值必须相等(a.id=b.id),如果a.id存在(1、1、1、1)而b.id只存在(1),那么会有四行结果(及笛卡尔积),b.id重复三次。
select *
from a inner join b
on a.id=b.id

outer join分为左外连接,右外连接两个:left outer join ,right outer join。
用上面的例子:left outer join(a left outer join b,那么这里要看左边的脸色,一切向左边看齐,先把左边表全显示了,右边满足条件a.id=b.id的显示,不满足显示为空) 右连接同理。
loveyurui
2009-10-28 · TA获得超过6555个赞
知道大有可为答主
回答量:2892
采纳率:33%
帮助的人:971万
展开全部
基础知识很重要
a
id name
1 jim
2 tom

b
id money
1 100

select a.id,a.name,b.money from
a inner join b on a.id=b.id;

结果:
a.id a.name b.money
1 jim 100

select a.id,a.name,b.money from
a left outer join b on a.id=b.id;
结果:
a.id a.name b.money
1 jim 100
2 tom

inner join 内连接 效果你看到了
outer join 外连接
上面的是左外链接,也就是结果中左边的表(a)全部的值都列出来,再把b的值根据id附上去。如果没有与a对应的值,则为Null;
右外连接 相反 是依附右边的表
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
柴关贵深0m
2009-10-28 · TA获得超过1142个赞
知道小有建树答主
回答量:1270
采纳率:0%
帮助的人:0
展开全部
outer join:外连接
inner join:内连接

具体作用在你以后的学习中会体会的越来越深刻!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
贝墨彻邱庚
2019-04-09 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.3万
采纳率:31%
帮助的人:762万
展开全部
内连接:只显示主表和从表之间满足连接条件(可以是等值连接也可以是不等值连接)的内容,一个表中的记录在另一个表中找不到满足连接条件记录的情况下,将不显示此条记录
外连接:一个表中的记录在另一个表中找不到满足连接条件记录的情况下,也显示此条记录,但在另一个表中的相关列会显示为null。外连接分左(外)连接、右(外)连接和完全(外)连接,左连接返回左表中的所有记录行,如果左表中行在右表中没有匹配记录,则结果中右表对应列为null。右连接正好相反,显示右表中所有记录行,如果在左表中没有匹配记录则左表对应列为null。完全连接会返回左表和右表中的所有记录行。当某行在另一表中没有匹配行,则另一表中的列返回null
交叉连接:等于没有连接条件,直接返回两表的笛卡尔积形式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式