Oracle union 与 union all 的用法

union的用法与union all的区别:union操作符用于合并两个或多个select语句的结果集,这里需要注意的是:union内部的select语句必须拥有相同数量的列,列也必须拥有相似的数据类型,同时,每条select语句中列的顺序必须相同。

--union操作符合并的结果集,不会允许重复值,如果允许有重复值的话,使用union all

--union结果集中的列名总等于union中第一个select语句中的列名。

SELECT column_name(s) FROM table_name1

union

SELECT column_name(s) FROM table_name2

--union 例子

SELECT employee_id,job_id FROM employees

union

SELECT employee_id,job_id FROM job_history

 

--union all语法

SELECT column_name(s) FROM table_name1

union

SELECT column_name(s) FROM table_name2

--union all例子

SELECT employee_id,job_id,department_id FROM employees

union all

SELECT employee_id,job_id,department_id FROM job_history order by employee_id;

--注意:union all会按照关联的次序组织数据,union会依据一定的规则进行排序。

--因为union all仅仅是简单的合并查询结果,并不会去重复操作,也不会排序,所以union all

--效率要比union,所以能够确定没有重复记录的情况下,尽量使用union all

 

猜你喜欢

转载自blog.csdn.net/CQL_K21/article/details/88621217
今日推荐