相同點:
union和union all 都是對於多個查詢結果的並集進行操作
不同點:
1.union 不會輸出兩個結果並集的重複行
2.union all 會輸出兩個結果並集的重複行
字段解釋:
xh:學號
xh:姓名
nl:年齡
create table student(xh number,xm varchar2(4),nl int);
insert into student values(1,'a',21);
insert into student values(2,'b',21);
insert into student values(3,'a',21);
insert into student values(4,'a',21);
insert into student values(5,'a',21);
insert into student values(6,'c',21);
insert into student values(7,'b',21);
檢視表
sql> select * from student;
xh xm nl
---------- ------------ ----------
1 a 21
2 b 21
3 a 21
4 a 21
5 a 21
6 c 21
7 b 21
7 rows selected.
sql>
union
sql> select * from student
2 union
3 select * from student where xm='a';
xh xm nl
---------- ------------ ----------
1 a 21
2 b 21
3 a 21
4 a 21
5 a 21
6 c 21
7 b 21
7 rows selected.
sql>
union all
sql> select * from student
2 union all
3 select * from student where xm='a';
xh xm nl
---------- ------------ ----------
1 a 21
2 b 21
3 a 21
4 a 21
5 a 21
6 c 21
7 b 21
1 a 21
3 a 21
4 a 21
5 a 21
11 rows selected.
sql>
UNION 和UNION ALL 的區別
在資料庫中,union 和union all 關鍵字都是將兩個結果集合並為乙個,但這兩者從使用和效率上來說都有所不同。union 在進行表鏈結後會篩選掉重複的記錄,所以在表鏈結後會對所產生的結果集進行排序運算,刪除重複的記錄再返回結果。實際大部分應用中是不會產生重複的記錄,最常見的是過程表與歷史表 ...
UNION和UNION ALL的區別
關鍵字 union 和union all 的區別 出處 在資料庫中,union和union all關鍵字都是將兩個結果集合並為乙個,但這兩者從使用和效率上來說都有所不同。union在進行表鏈結後會篩選掉重複的記錄,所以在表鏈結後會對所產生的結果集進行排序運算,刪除重複的記錄再返回結果。實際大部分應用...
UNION 和UNION ALL 的區別
在資料庫中,union 和union all 關鍵字都是將兩個結果集合並為乙個,但這兩者從使用和效率上來說都有所不同。union 在進行表鏈結後會篩選掉重複的記錄,所以在表鏈結後會對所產生的結果集進行排序運算,刪除重複的記錄再返回結果。實際大部分應用中是不會產生重複的記錄,最常見的是過程表與歷史表 ...