📜  sql中的union(1)

📅  最后修改于: 2023-12-03 15:35:07.951000             🧑  作者: Mango

SQL中的UNION

在SQL中,UNION是用于将多个SELECT语句的结果集合并成一个结果集的操作符。它被广泛用于查询多个表或视图的数据。

语法

UNION的基本语法如下:

SELECT column1, column2, ... FROM table1
UNION [ALL]
SELECT column1, column2, ... FROM table2;
  • column1, column2, ...:是要检索的列的名称。
  • table1, table2, ...:是要检索的表或视图的名称。
  • UNION:将多个SELECT结果进行合并。
  • [ALL]:可选参数。添加ALL参数表示不删除任何结果集中的行,即保留重复行。默认情况下,不添加ALL参数,会自动删除重复的行。
示例

下面是一个简单的示例,将两个表中的集合合并:

SELECT id, name, age FROM table1
UNION
SELECT id, name, age FROM table2;

上面的代码将返回两个表中所有的id、name、age列的唯一值。

如果想包含重复的行,可以添加ALL参数:

SELECT id, name, age FROM table1
UNION ALL
SELECT id, name, age FROM table2;
注意事项
  • UNION操作符连接的两个SELECT语句必须拥有相同的列数目,且相应的列必须拥有兼容的数据类型。
  • UNION默认会对结果集进行排序,但是排序的顺序是不确定的。如果需要排序,可以在UNION语句中使用ORDER BY进行排序。
  • UNION的性能可能不如INNER JOIN,因为UNION需要对多个表的结果进行合并和排序,可能需要更多的计算资源。
结论

UNION操作符是SQL中非常强大和实用的工具,它使得我们可以轻松地合并多个表、视图或查询的结果集。当需要合并多个数据源时,UNION操作符是一个很好的选择。