SQL中左联和左外联的区别 - 所有的区别
Table of contents
数据库由通常以电子方式存储在计算机系统中的有组织的结构化信息集合组成。 几个不同的数据库,如SQL Server、Oracle、PostgreSQL和MySQL,通常使用一种语言来管理数据 .
其中一种语言被称为SQL。 SQL有不同的连接命令,包括内连接、左连接和右连接。
正如你可能知道的那样、 在SQL中的Join是用来从两个或更多的表中的相关列中集合行的。 这可能会引起一个问题:其他的变化是什么?
这有点令人困惑,我相信!但不要担心,我将详细说明它们是什么意思,希望这能帮助你更好地理解。
让我们开始吧!
什么是SQL?
SQL是结构化查询语言的缩写。 这是一种被各种数据库用于编写和查询数据的语言。 它允许使用表来管理信息,并显示一种语言来查询这些表和其他相关对象,如视图、函数、程序等。
唐纳德-张伯伦和雷蒙德-博伊斯是 的设计者 SQL,他们是为了操作数据而做的。 他们的模型是基于埃德加-弗兰克-科德(Edgar Frank Codd)的作品,他为IBM工作,在70年代发明了关系型数据库。
最初,它被命名为SEQUEL,但由于具体的商标问题,它被缩短为SQL。 然而,如果你愿意,你仍然可以称它们为SEQUEL。
See_also: 杜邦可丽耐®与LG Hi-Macs的区别是什么-(事实与区别) - 所有的区别使用SQL,你可以插入、删除和更新数据,并创建、删除或更改其他数据库对象。 标准SQL命令是" 选择"、"删除"、"插入"、"更新"、"创建 "和 "下降"。 .这些可以完成人们在数据库上需要做的一切。
此外,这种语言被用于多个数据库,以帮助处理数据和数据库对象。 如果这对你来说听起来很复杂、 这里有一个视频,为初学者解释什么是SQL:
数据库可以在没有语言的情况下运行吗?
我们为什么要使用SQL?
这很简单。 没有SQL,我们就不会理解数据库。 同样,我们不能在没有它的情况下指示数据库,因为SQL是一个用于与数据库通信的系统。
SQL 系统执行的任务,如 删除、增加或改变 这个系统通常用于制作 更容易处理大量数据 一些使用SQL的标准关系数据库管理系统包括 Oracle、Sybase、Microsoft Access和Ingres。
什么是内联和外联?
好吧,首先,让我们了解什么是连接。 在SQL中,连接被用来结合不同表的内容。 你可以通过指定你想要的数据整合方式和你希望使用的Join类型,以多种方式结合数据。
内联是一个联接,它从参与的两个表中返回所有的记录,其中基本的 一张表的记录与关键的 另一个表的记录。
这种联合需要一个比较运算符来匹配来自参与表的行,这些行支持两个表的标准字段或列。
外连接可以在一个或两个表中返回不匹配的行 基本上,它返回所有符合条件的表的所有记录。
有许多不同类型的外连接。 这些包括左连接、右连接和全外连接。
这里有一个表格,总结了SQL中可用的连接的重要功能:
连接的类型: | 职能 : |
内部连接 | 当两个表中至少有一个匹配时,这将返回行。 |
左外联接 | 这将返回左表的所有行和右表的匹配行。 |
右外联接 | 这将返回右表的所有行和左表的匹配行。 |
完全外联 | 这结合了左外联接和右外联接。 当条件满足时,从任一表中返回记录。 |
这显示了SQL中四个连接的区别。
内联和外联的区别
还有更多。 内联和外联的显著区别是 内联通常会导致两个表的交集。 与此相反、 外联的结果是两个表的混合。
所以基本上、 内部连接 你将只合并两个表中的标准行。 另一方面,外联会返回所有在左表或合适表中有值的记录。
外联包括表内的匹配行和非匹配行。 此外,一个 外层连接 与内联的不同之处在于 管理错误的匹配条件。
左外联接由左外联接+内联接组成。 而右外联接也是由右外联接+内联接组成。 全外联接包括 他们中的所有人。
左联接(它与SQL中的左外联接相同吗?)
也许你也听说过SQL中的Left Join? 嗯,它和Left Outer Join一样。 他们对同一功能有两个不同的名称。
左联接和SQL中的左外联接是一样的,它们是一体的。 左联接只是左外联接的一个缩写,"外 "字只是让人更直接地了解操作是什么,但两个键的功能是一样的。
为什么左联接被称为左外联接?
你可以选择用它的扩展名称或快捷方式来称呼它。 此外,它们只是一样的东西。
请记住 这个Join在左边的表中返回所有的行,在Join的右边返回匹配的行。 如果右边没有匹配的边,结果为空。
因此,如果我们要连接两个表,A和B,SQL左外连接将返回左边表,也就是A中的所有记录,以及右边另一个表B中的所有匹配记录。 简而言之,SQL左键连接的结果总是由左侧表中的记录组成。
联接和左联接的区别
对于基础知识,Join也被称为内联,而Left Join是外联。
但主要的区别是,左连接语句很可能包括并合并信息左侧引用的表的所有行。 它不只是未匹配的行,而是由左表的所有行和其他表的匹配行组成。
在SQL中何时使用左外连接?
假设你正在寻找一种组合不同表格的方法。 或者,如果你要连接两个表,并且希望结果集只包括一个表的不匹配记录,你应该使用左外连接子句或者适当的外连接子句。 使用左外连接由左外连接子句之前指定的表中不匹配的记录组成。
从技术上讲,左外联接识别的是符合联接条件的两个表中的所有记录和表中未匹配的记录。
左外联接是否会增加行数?
这是一个经常被问及的问题。 从技术上讲,这是一个肯定的答案。
然而,"左键 "是指 只能 而这只是在右表有多个匹配的情况下。 此外,如果你的分析需要,你可以在一个查询中使用许多左连接。
左外联与右外联
左外联接和右外联接的显著区别是 结合不匹配的行。
因此,两者之间的区别是,左外联接包括未匹配的记录或联接子句左边的表的所有记录,包括右边表或子句中的匹配记录。
另一方面,右外连接包括Join子句右侧表中未匹配的记录,并返回右侧的所有记录。
一个Join子句结合了两个或更多的表的记录或修改和操作表格,使用一个Join条件。 这个Join条件指出了不同表的列在比较时如何匹配。
例如,在一个包含员工工资的表和另一个包含员工详细信息的表之间会有一个标准列。 这可能是员工的ID,这有助于加入两个表。
所以你可以把表看作是一个实体,而键是两个表之间的共同联系,用于联合操作。
学习数据库可能很棘手。 但如果你彻底了解它,就很容易得到。
右联接和右外联接之间有什么区别?
右连接与左连接类似,只是它们从右边返回表中的所有行,从左边返回匹配的行。
同样,右联接和右外联接没有具体区别,就像左联接和左外联接没有区别一样。 简而言之,"右键连接 "只是 "右外键连接 "的简写。
outer "关键字是可选的,它们都执行相同的工作,即合并数据集和表。
为什么使用右键而不是左键?
一般来说,右外联接并不常用,因为你总是可以用左外联接来替代它们,而且不必执行任何额外的功能。
当试图使你的SQL更加自我记录时,人们会考虑使用Right Join而不是Left Join。
你可以使用 左侧连接 你可以使用 "查询 "来解决在依赖方有空行的问题。 正确的加入 对于在独立方产生空行的问题。
ǞǞǞ 右外联接 当你需要将一个表与许多其他表的交叉点结合起来时,"A "也很有帮助。
SQL中Join和Union的区别
Join和Union的区别在于,Union是用来合并两个或多个SELECT语句的结果集。
虽然Join根据匹配的条件结合了许多表的数据,但使用Join语句结合的数据会产生新的列。
使用Union语句组合的数据会产生新的独立行,这些行来自列数相等的集合。
最后的想法
总而言之、 有 LEFT JOIN和LEFT OUTER JOIN之间没有区别 这对右键连接和右外键连接也是如此。
这两个键的功能相同,而" outer "只是一个可供选择的关键词,可以使用。 有些人推荐使用它,只是因为它阐明了你正在创建一个外层连接。
因此,最终,你是否指定它,根本没有什么区别。
See_also: Haven't和Havnt之间的区别是什么? 找出答案) - 所有的区别其他有趣的文章:
点击这里,以更概括的方式了解这些差异。