发展历程 什么是加入? -技术百科的定义

什么是加入? -技术百科的定义

目录:

Anonim

定义-Join是什么意思?

联接是一种SQL操作,用于根据匹配列在两个或多个数据库表之间建立连接,从而在表之间建立关系。 SQL数据库管理系统中最复杂的查询都涉及联接命令。


有不同类型的联接。 程序员使用的联接类型确定查询选择的记录。 联接操作背后有三种算法:哈希联接,排序合并联接和嵌套循环联接。

技术百科解释加入

默认联接类型是内部联接。 内部联接从具有匹配值的两个表中选择记录。 不包含匹配值或公共值的记录将从输出中排除。 该查询将第一个表的每一行与第二个表的行进行比较,以找到满足连接谓词的行。


例如,如果一个表包含员工详细信息,而另一个表包含经理信息,则可以在employee和manager表上执行联接以显示同时也是经理的员工。 以下查询显示作为经理的雇员:


SELECT * FROM Employee INNER JOIN Manager ON Employee.Managerid = Manager.Managerid


始终对查询的“ ON”子句中指定的匹配列执行联接。 在此示例中,匹配列为“ Managerid”。 由于使用了'='运算符,因此称为等值连接。


自然联接也产生相同的输出,但在联接子句中使用“ USING”关键字。 可以如下修改上述查询以指示自然连接:


SELECT员工,经理FROM Employee INNER JOIN经理使用(Managerid)


即使未指定匹配列,两个表之间仍将执行联接。 这种连接称为交叉连接(有时称为笛卡尔积),这是最简单的连接形式。 由于未指定键约束,因此第一个表中的每一行都与第二个表中的所有行连接在一起。 如果第一个表有两行,第二个表有三行,则输出将有六行。


外部联接是另一种重要的联接类型。 通常,外部联接将一个表的所有记录和另一表的匹配记录作为输出。 外连接可以是左外连接或右外连接。 在左外部联接中,左表的所有表(即使它们不满足匹配条件)也将在输出中显示右表的匹配行。 在右外部联接中,右表的所有行和左表的匹配行将显示为输出。


在极少数情况下,表可以连接到自身。 这称为自连接。

什么是加入? -技术百科的定义