MySQL中的UNION
操作符:
用于合并两个或多个SELECT
语句的结果集,它会删除重复的行并按照列的顺序进行排序。
而UNION ALL
操作符与UNION
类似,但它不会删除重复的行。
-- union all 就是将两个查询结构合并,不会去重
SELECT ename ,sal ,job
FROM emp
WHERE sal > 2000
UNION ALL
SELECT ename, sal , job
FROM emp
WHERE job = 'MANAGER'
-- union 就是将两个查询结果合并,会去重
SELECT ename,sal,job
FROM emp
WHERE sal > 2000
UNION
SELECT ename ,sal,job
FROM emp
WHERE job = 'MANAGER'
注意事项:
在使用union查询中,一定要确保第二个查询子句的搜索顺序,与前者保持一致,否则会出现格式不对称的样子
举个栗子(下面是格式错的):
SELECT ename,sal,job
FROM emp
WHERE sal > 2000
UNION
SELECT ename ,job,sal
FROM emp
WHERE job = 'MANAGER'