在SQL中,联接(Join)用于组合来自不同数据集的记录。联接可以是内部联接,也可以是外部联接。内部联接返回两个表中都具有匹配项的记录,而不是内部联接相反的外部联接。因此,外部联接返回在两个表中都没有匹配项的记录。右外连接和左外连接之间的差异将在下面讨论。
差异性
如前所述,内部联接只会产生一组记录,该记录存在于两个要比较的表中。另一方面,完全外部联接是产生要比较的两个表中存在的所有记录的完整集合的联接。如果没有匹配项,则未匹配项将为NULL
。
左外部联接将包含来自第一个表的完整记录集,并且匹配结果及其结果将在相应表中提供。如果没有匹配结果,则右侧将为NULL
。要仅在左侧表而不是右侧表中生成记录,请使用“where”子句。
要为右侧的表和左侧的表生成唯一的记录,建议使用完全外部联接。执行完完全外部联接后,“where”子句用于从“右侧”和“左侧”排除不需要的结果。此外,可以使用笛卡尔连接来帮助左右的所有连接。有时可能不是要寻找的东西,而是有时出现的东西。联接产生功能强大的数据集,该数据集最多提供16行数据集,通常比预期的要多得多。尽管您获得了大量的数据集,但是这些连接极其危险,因为轻微的不兼容会破坏整个系统。
如果您要处理的项目也寻求与Microsoft SQL Server的兼容性,那么使用左外部联接将带来很多好处。返回顺序从首先返回内部记录开始,然后是右连接记录,最后是左记录的连接。在SQL环境中使用left join或left external join语句将引用完全相同的语句。从本质上讲,这意味着使用左连接还是左外部连接的预期结果没有差异。除非环境在Microsoft SQL Server中,否则结果将是相似的。不用担心,可以使用甚至省略外部关键字,因为结果没有任何不同。
总结
- 在SQL中使用联接来比较不同的数据集;
- 内部联接仅产生一组记录,该记录存在于两个要比较的表中;
- 外部联接可生成研究中的两个表中存在的所有记录的完整集合;
- 使用完全连接后,“where”子句用于产生唯一记录;
- 笛卡尔联接将表的左元素和右元素链接在一起;
- 使用Microsoft SQL Server时,左连接和左外部连接的使用之间存在显着差异;
- 总而言之,使用左连接或左外部连接语句是指完全相同的语句。由于没有区别,因此建议使用左外部联接。
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:Left Join和Left Outer Join
本文链接:https://www.vsdiffer.com/vs/left-join-vs-left-outer-join.html
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。