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