JOIN和UNION的区别是什么?我能举个例子吗?


当前回答

联合操作是行垂直聚合的组合结果, Join操作是列的水平聚合的组合结果。

其他回答

记住,union将合并结果(SQL Server)(特性或错误?)

select 1 as id, 3 as value
union
select 1 as id, 3 as value

id,值

1,3

select * from (select 1 as id, 3 as value) t1 inner join (select 1 as id, 3 as value) t2 on t1.id = t2.id

id值,id值

1,3,1,3

我喜欢把一般的区别想成:

join连接表 UNION (et all)组合查询。

你可能会看到对两者相同的解释,但这完全令人困惑。

联盟:

加入:

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

UNION操作符只是用于组合两个或多个SELECT语句。

而JOIN用于从每个表中选择行,可以通过内、外、左或右方法。

参考这里和这里。用例子来解释会更好。