问答中心分类: SQLJOIN 和 UNION 有什么区别?
0
匿名用户 提问 1小时 前

和有什么区别JOINUNION?我可以举个例子吗?

Auston 回复 1小时 前

任何现代星展银行,如MariaDB, 实现一个 UNION JOIN 命令。这是个SQL 3命令,但它并不为人所知或使用。了解更多联合加入.

Auston 回复 1小时 前

@Auston UNION JOIN 被提议但从未添加到 SQL 中。

12 Answers
0
Kirtan 回答 1小时 前

UNION将两个或多个查询的结果组合成一个结果集,其中包括属于联合中所有查询的所有行。
通过使用加入,您可以根据表之间的逻辑关系从两个或多个表中检索数据。连接指示 SQL 应如何使用一个表中的数据来选择另一个表中的行。
UNION 操作不同于使用组合来自两个表的列的 JOIN。
联合示例:

SELECT 1 AS [Column1], 2 AS [Column2]
UNION
SELECT 3 AS [Column1], 4 AS [Column2]

输出:

Column1    Column2
-------------------
1          2
3          4

加入示例:

SELECT a.Column1, b.Column2 FROM TableA a INNER JOIN TableB b ON a.Id = b.AFKId

这将输出两个表中的所有行a.Id = b.AFKId是真的。

Kennet Celeste 回复 1小时 前

Join 可以从一个或多个表中检索数据。不一定是两个

0
Java Main 回答 1小时 前

您可能会看到两者的相同示意图解释,但这些完全令人困惑。
对于联合:
在此处输入图像描述
对于加入:
在此处输入图像描述

icc97 回复 1小时 前

这些图像暗示FULL OUTER JOIN是相同的UNION, 哪个确实有差异

Josh D. 回复 1小时 前

这个答案指出这些图像令人困惑(它们是哪个 IMO),但没有继续解释原因或对原始问题提供任何澄清。

Java Main 回复 1小时 前

每个带有图表的图像都完美地解释了这种情况。没有一个图像可以合并所有图表。那会更混乱。

0
Ganesh Narayan Tharol 回答 1小时 前

加入:
连接用于显示来自不同表的具有相同或不同名称的列。显示的输出将单独显示所有列。也就是说,列将彼此相邻对齐。
联盟:
UNION 集合运算符用于组合来自具有相同数据类型的列的两个表中的数据。执行 UNION 时,两个表中的数据将被收集到具有相同数据类型的单个列中。
例如:
请参阅下面显示的两个表:

Table t1
Articleno article price manufacturer_id
1 hammer 3 $ 1
2 screwdriver 5 $ 2

Table t2
manufacturer_id manufacturer
1 ABC Gmbh
2 DEF Co KG

现在,为了执行 JOIN 类型,查询如下所示。

SELECT articleno, article, manufacturer
FROM t1 JOIN t2 ON (t1.manufacturer_id =
t2.manufacturer_id);

articelno article manufacturer
1 hammer ABC GmbH
2 screwdriver DEF Co KG

那是一个连接。
UNION 意味着您必须使用相同数量和类型的列的表或结果集,并将其添加到表/结果集中。看这个例子:

Table year2006
Articleno article price manufacturer_id
1 hammer 3 $ 1
2 screwdriver 5 $ 2

Table year2007
Articleno article price manufacturer_id
1 hammer 6 $ 3
2 screwdriver 7 $ 4

SELECT articleno, article, price, manufactruer_id
FROM year2006
UNION
SELECT articleno, article, price, manufacturer_id
FROM year2007

articleno article price manufacturer_id
1 hammer 3 $ 1
2 screwdriver 5 $ 2
1 hammer 6 $ 3
2 screwdriver 7 $ 4
0
adeshsuryan 回答 1小时 前

它们是完全不同的东西。
一个join允许您关联不同表中的相似数据。
联合将两个不同查询的结果作为单个记录集返回。

0
James L 回答 1小时 前

Union 使两个查询看起来像一个。连接用于在单个查询语句中检查两个或多个表