1.联盟:
联合表示将两个或多个数据集合并为一个集合。在SQL Server中,联合用于使用select语句将两个查询合并为一个结果集。联合提取查询中描述的所有行。
句法 –
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.联合所有:
联合用于使用查询中指定的条件提取行,而联合全部用于从一组两个表中提取所有行。
句法 –
query1 UNION ALL query2
相同条件适用于Union All。 Union和Union All之间的唯一区别是Union提取了查询中指定的行,而Union All提取了两个查询中包括重复项(重复值)的所有行。