union 和 union all的區別

2021-09-12 07:46:00 字數 1889 閱讀 4094

相同點:

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 在進行表鏈結後會篩選掉重複的記錄,所以在表鏈結後會對所產生的結果集進行排序運算,刪除重複的記錄再返回結果。實際大部分應用中是不會產生重複的記錄,最常見的是過程表與歷史表 ...