oracle 中Union和Union all區別

2021-09-19 18:53:58 字數 1351 閱讀 9345

以前一直不知道union和union all到底有什麼區別,今天來好好的研究一下,網上查到的結果是下面這個樣子,可是還是不是很理解,下面將自己親自驗證:

union:對兩個結果集進行並集操作,不包括重複行,同時進行預設規則的排序;

union all:對兩個結果集進行並集操作,包括重複行,不進行排序;

下面進行簡單的測試(因為是測試,所以sql**寫的很簡單,沒有什麼很嚴格的規範,只是為了理解這兩者之間的區別)

嚴格的標準寫法應該先判斷資料庫是否存在,表是否存在等等約束

第一步,建庫:

view plain

create database test  

go  

use test  

go  

第二步,建表:

view plain

create table table1  

(  id int not null,  

name varchar(20) not null  

)  create table table2  

(  id int not null,  

name varchar(20) not null  

)  

第三步,插入測試資料:

view plain

insert into table1 values (1,'姚羽')  

insert into table1 values (2,'邊兵兵')  

insert into table1 values (3,'袁磊')  

insert into table2 values (1,'姚羽')  

insert into table2 values (2,'柳春平')  

insert into table2 values (3,'張永超')  

insert into table2 values (4,'劉華健') 

第四步,測試開始:

view plain

select * from table1  

select * from table2  

執行兩個表的查詢結果如下

可以很容易的看到,上面插入的測試資料當中,有一條是重複的

那麼我們  先看執行union 看看

view plain

select * from table1  

union   

select * from table2  

再執行union  all 看看

view plain

select * from table1  

union all  

select * from table2  

Oracle中Union與Union All的區別

如果我們需要將兩個select語句的結果作為乙個整體顯示出來,我們就需要用到union或者union all關鍵字。union 或稱為聯合 的作用是將多個結果合併在一起顯示出來。union和union all的區別是,union會自動壓縮多個結果集合中的重複結果,而union all則將所有的結果全...

Oracle中Union與Union All的區別

如果我們需要將兩個select語句的結果作為乙個整體顯示出來,我們就需要用到union或者union all關鍵字。union 或稱為聯合 的作用是將多個結果合併在一起顯示出來。union和union all的區別是,union會自動壓縮多個結果集合中的重複結果,而union all則將所有的結果全...

oracle中union的學習

union指令的目的是將兩個 sql 語句的結果合併起來,可以檢視你要的查詢結果.例如 select date from store information union select date from internet sales 注意 union用法中,兩個select語句的字段型別匹配,而且字...