1. 程式人生 > >UNION 和 UNION ALL 的區別

UNION 和 UNION ALL 的區別

emp tor lec 結果集 excel 順序 效率 b- 結果的處理

1、UNION用的比較多

語法如下:

select employee_id,job_id from employees

union

select employee_id,job_id from job_history

2、union all是直接連接,取到得是所有值,記錄可能有重復。

語法如下:

select * from emp where deptno >= 20

union all

select * from emp where deptno <= 30

註意:union 是取唯一值,記錄沒有重復

詳細解釋:

1、UNION和UNION ALL關鍵字都是將兩個結果集合並為一個,但這兩者從使用和效率上來說都有所不同。

2、對重復結果的處理:UNION在進行表鏈接後會篩選掉重復的記錄,Union All不會去除重復記錄。

3、對排序的處理:Union將會按照字段的順序進行排序;UNION ALL只是簡單的將兩個結果合並後就返回。

4、從效率上說,UNION ALL 要比UNION快很多,所以,如果可以確認合並的兩個結果集中不包含重復數據且不需要排序時的話,那麽就使用UNION ALL。

UNION 和 UNION ALL 的區別