oracle中inner join 与 left join有什么区别,不要网上复制的,谢谢!!!

 我来答
longrenyingdc8ecb1
2017-05-22 · TA获得超过1万个赞
知道大有可为答主
回答量:6032
采纳率:82%
帮助的人:2323万
展开全部
inner join只有完全满足条件才会出现。left和right则是以某一张表为主,在为主的表中就算不满足条件也一样显示。
比如,a,b两张表。a.a和b.b两个字段关联。条件是a.a=b.b
如果是inner,那么就是相等才出现。比如a.a中有一个值是c,那么b.b中也必须有c,这个c才有效;如果a.a中有c值,但是b.b中没有c值,那么c相关的内容就不会出现在结果中。反过来也是一样。
如果是left,那么假设是a left b on a.a=b.b(别说写法,我就写个意思,而且很久没用join的写法了,都是where),还是上面的例子:a.a中有c这个值,那么不管b中有没有这个值,它都会显示出来,只是结果中c值相关行(即使C值没在显示)的b表的相关字段的内容为空值。
举个例子就是你去饭店吃饭,饭店有6种凉菜。饭店六种凉菜是a表,你要点的是b表。
inner就是你需要点,那么不吃的就可以不点,没有的更是点不着,最终你点了四样。那么这四样凉菜的结果就是inner。
left就是,饭店不管你吃不吃,每次六样一股脑的全给你端上来,结果你有一种特别不喜欢,一口都没吃(也就是空值),但是六样还是都端上来了,就算你不吃,这个结果就是left。
例子现琢磨的,不一定那么形象,不过塔体意思差不多了,这么理解没什么大问题。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式