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 提取所有行,包括来自两个查询的重复项(重复值)。