SQL查询中的UNION ALL和UNION区别
UNION和UNION ALL的重要的区别关于对重复结果的处理。 UNION 在合并子查询重复的记录只保留一条,而 UNION All 并不合并子查询的重复记录。现举例说明它们之间的区别。 示例1:查询职位为‘CLERK’员工信息。 SQL> SELECT EMPNO,ENAME,JOB DEPTNO FROM EMP WHERE JOB='CLERK'; EMPNO ENAME DEPTNO ---------- ---------- --------- 7369 SMITH CLERK 7876 ADAMS CLERK 7900 JAMES CLERK 7934 MILLER CLERK 示例2:查询部门编号为20员工信息。 SQL> SELECT EMPNO,ENAME,JOB DEPTNO FROM EMP WHERE DEPTNO=20; EMPNO ENAME DEPTNO ---------- ---------- --------- 7369 SMITH CLERK 7566 JONES MANAGER 7788 SCOTT ANALYST 7876 ADAMS CLERK 7902 FORD ANALYST 示例3:使用 UNION ALL 合并示例1和示例2的子查询。 SQL> SELECT EMPNO,ENAME,JOB DEPTNO FROM EMP