📜  MS SQL Server 中的 Union 和 Union All

📅  最后修改于: 2021-09-09 10:35:58             🧑  作者: Mango

1.联盟:
联合意味着将两个或多个数据集连接成一个集合。在 SQL Server 中,Union 用于使用 select 语句将两个查询合并为一个结果集。 Union 提取查询中描述的所有行。

句法 –

query1 UNION query2

Union 在用于查询之前包含一些条件。一种这样的条件是要提取的行必须来自表中的相同列。

例子 –

select name, rollnumber 
from student 
UNION 
select name, rollnumber 
from marks


表 –学生

Name Rollnumber Course
Maya 111 CSE
Riya 112 Mech


表 –标记

Name Rollnumber Marks
Maya 111 8.9
Riya 112 7.8

输出 –

Name Rollnumber Name Rollnumber
Maya 111 Maya 111
Riya 112 Riya 112

这里使用两个不同的表来提取行,但指定用于提取的列对于两者是相同的。如果使用不同的列,则会发生错误。两个查询指定的数据类型也必须相同。

2. 联合所有:
union 用于使用查询中指定的条件提取行,而 Union All 用于从一组两个表中提取所有行。

句法 –

query1 UNION ALL query2

同样的条件适用于Union All。 Union 和 Union All 之间的唯一区别是 Union 提取查询中指定的行,而 Union All 提取所有行,包括来自两个查询的重复项(重复值)。