sql 中 并集union和union all的使用区别

union  操作符用于合并两个或多个 SELECT 语句的结果集,并且去除重复数据,按照数据库字段的顺序进行排序。

SELECT NAME FROM TABLE1
UNION
SELECT EMP_NAME FROM TABLE2;

union all 操作符用于合并两个或多个 SELECT 语句的结果集,不去除重复数据,不排序。

SELECT NAME FROM TABLE1
UNION ALL
SELECT EMP_NAME FROM TABLE2;

总结

需要连接的表的列名可以不一样,但列的属性,个数必须一致。

不仅限于连接2个表,可以连接多个sql查询。

不需要对每个拼接的sql结果集进行排序,可直接使用ORDER BY 对最后一条sql结果集进行整体排序

select e.no,e.name from emp as e
union 
select d.no,d.name from dept as d
order by emp_name;

原文地址:https://www.cnblogs.com/Yogurt-harry/p/11163105.html