1:(SET操作
有时,您可能需要将多个表中的数据合并为一个综合数据集。 这可能是针对同一数据库中具有相似数据的表,或者可能需要跨数据库或跨服务器组合类似的数据。
要完成此操作,请使用UNION和UNION ALL运算符。
UNION将多个数据集合并到一个数据集中,并删除任何现有的重复数据集。
UNION ALL将多个数据集合并到一个数据集中,但不会删除重复行。
UNION ALL比UNION快,因为它不对数据集执行重复的删除操作。
2:(UNION
UNION运算符用于组合两个或多个SELECT语句的结果集。
UNION中的所有SELECT语句必须具有相同的列数。 列也必须具有相同的数据类型。 此外,每个SELECT语句中的列必须按相同的顺序。
UNION的语法如下:
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
这里是两个表中的第一个:
这里是第二个:
SELECT ID, FirstName, LastName, City FROM First
UNION
SELECT ID, FirstName, LastName, City FROM Second;
结果表将如下所示:
如您所见,重复项已删除。
TIP:
如果您的列在所有查询中不完全匹配,您可以使用NULL(或任何其他)值,如:
SELECT FirstName, LastName, Company FROM businessContacts
UNION
SELECT FirstName, LastName, NULL FROM otherContacts;
3:(UNION ALL
UNION ALL从每个表中选择所有行,并将它们组合到单个表中。以下SQL语句使用UNION ALL从第一个表和第二个表中选择数据:
SELECT ID, FirstName, LastName, City FROM First
UNION ALL
SELECT ID, FirstName, LastName, City FROM Second;
结果表:
如您所见,结果集也包括重复行。