问:我一直在对不同种类的Oracle连接做研究,目前还搞不清楚LEFT JOIN和LEFT OUTER JOIN之间有什么区别。Outer这个词是可选的么?因为Oracle中的LEFT JOIN是默认为OUTER JOIN的。如果是这样的话,我就不明白“INNER”和“OUTER”的用法了,因为显而易见INNER与JOIN或FULL JOIN一起使用从而产生两个表中所有的匹配(对于inner也是同样如此,对么?)。而OUTER可以和LEFT,RIGHT以及FULL一起使用。
这些关键词的使用难道只是用来强调JOIN的特性么? 答:Oracle连接,包括LEFT JONI和LEFT OUTERJO……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号

TechTarget
官方微博

TechTarget中国
问:我一直在对不同种类的Oracle连接做研究,目前还搞不清楚LEFT JOIN和LEFT OUTER JOIN之间有什么区别。Outer这个词是可选的么?因为Oracle中的LEFT JOIN是默认为OUTER JOIN的。如果是这样的话,我就不明白“INNER”和“OUTER”的用法了,因为显而易见INNER与JOIN或FULL JOIN一起使用从而产生两个表中所有的匹配(对于inner也是同样如此,对么?)。而OUTER可以和LEFT,RIGHT以及FULL一起使用。这些关键词的使用难道只是用来强调JOIN的特性么?
答:Oracle连接,包括LEFT JONI和LEFT OUTERJOIN,的确是会让人非常困惑的话题,对Oracle新手来说尤为如此。在这里我们来深入介绍一些关于Oracle连接的常见问题。
根据TechTarget的专家问答,Oracle中有三类OUTER JOIN -- 分别是LEFT,RIGHT和FULL。一个LEFT OUTER JOIN包含“左”表中的所有记录,即使它与在此连接中指定的“右”表并不存在任何匹配。一个RIGHT OUTER JOIN包含“右”表中的所有记录,即使它与在此连接中指定的“左”表并不存在任何匹配。而一个FULL OUTER JOIN则包含左右两表中的所有记录。
就像之前专家Karen Morton所说的一样,一个OUTER JOIN通过返回满足连接条件的记录,以及从一个没有记录满足其他连接条件的表返回某些或所有记录来扩展一个简单连接的结果。
社区用户cpflames解释说,关键词OUTER是可选的,但其实它应该是强制性的。他建议在Oracle中的OUTER JOINS要始终包含OUTER来提醒这是一个外连接。
对于JOIN来说,LEFT,RIGHT和FULL这几个关键词是强制性的。而LEFT,RIGHT和FULL OUTER JOINS是OUTER JOIN仅有的类型。
据cpflames解释,INNER JOIN意味着所有的结果记录是通过匹配两个表之间的某些条件产生的。一个OUTER JOIN会有某些时候并不匹配的结果记录,而是从一个表或是另外一个表亦或是从它们两个表返回没有匹配的结果记录。除了inner和outer还有另外一个连接类型,那就是CROSS JOIN。
作者
翻译
相关推荐
-
控制合约 不再畏惧Oracle
许多公司都与Oracle有无限制授权协议,他们害怕离开这个协议,所以就证明他们在使用Oracle的软件,即使因为需求单独购买部分授权许可也可能总体是省钱的。
-
如何应对Oracle EBS实施中的六个挑战?
在18个月的时间里,Vitamix启动运行了Oracle电子商务套件(E-Business Suite,EBS),而且Vitamix还对诸如Oracle ATG Web Commerce等所有页面属性进行了重新整理,并实现了全球数据中心。
-
Oracle的云产品“砸了自己脚”?
Sparc和Solaris都是Oracle云计划的一部分,但是硬件和支持人员的减少意味着本地Solaris和Sparc将变得更加稀少。
-
2017年3月数据库流行度排行榜 Oracle卫冕之路困难重重
时隔一个月,数据库市场经过一轮“洗牌”,旧的市场格局是否会被打破,曾经占巨大市场份额的企业是否可能失去优势?