UNION和UNION ALL的区别

it2022-05-05  146

1.UNION

union用于合并两个或多个select 语句的结果集。

注意:union内部的select 语句必需拥有相同数量的列,列也夜必须拥有相似的数据类型,同时每条select 语句中的列的顺序必须相同。

SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2

注释:默认的union 操作符是选取不同的值,如果允许重复的值,使用unino all。

另外:union结果集中的列名总是等于union  中第一个select 语句中的列名。

China:

IDName01Zhang, Hua02Wang, Wei03Carter, Thomas04Yang, Ming

USA:

IDName01Adams, John02Bush, George03Carter, Thomas04Gates, Bill

 

select  Name from China union  select Name from USA;

结果:

NameZhang, HuaWang, WeiCarter, ThomasYang, MingAdams, JohnBush, GeorgeGates, Bill

注释:这个命令无法列出中国和美国所有的雇员,在上面的例子中,我们有两个名字相同的员工,但是只列出了一个,union 只会选取不同的值。

UNION ALL

UNION和UNION ALL几乎是等效的,但是UNION ALL可以列出所有的值。

 

 


最新回复(0)