SQL——UNION (合并多个查询结果)

版权声明:最终解释权归属Hern所有,恒! https://blog.csdn.net/qq_36761831/article/details/83450110

UNION

1、UNION 必须由两条或两条以上的 SELECT 语句组成。,语句之间用UNION关键字进行分隔。

2、UNION中的每个查询必须包含相同的列、表达式或聚集函数(不过各个列不需要以相同的次序列出)。

3、列数据类型必须兼容,类型不必完全相同,但是必须是DBMS可以隐含地转换类型。

4、UNION从查询结果集中自动去除重复行。

5、若需要每个条件的匹配行全部出现(包括重复行),则必须使用UNION ALL 而不是WHERE。

6、使用UNION的组合查询时可以应用不同的表。

7、在使用UNION组合查询时,只能使用一条ORDER BY 子句,它必须出现在最后一条SELECT语句之后,即对于结果集不存在用一种方式排序一部分,而又用另一种方式排序另一种部分的情况,因此不允许使用多条ORDER BY子句。

语法

SELECT 列名 FROM 表名1
UNION
SELECT 列名 FROM 表名2;

注意:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。

UNION ALL

UNION ALL 命令和 UNION 命令几乎是等效的,不过 UNION ALL 命令会列出所有的值。

语法

SELECT 列名 FROM 表名1
UNION ALL
SELECT 列名 FROM 表名2;

注意:UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。

猜你喜欢

转载自blog.csdn.net/qq_36761831/article/details/83450110