查詢集合操作union與union all
查詢的集合操作:其中包括4種:union,union all,intersect與minus.
其中union是並集去重,union all是並集不去重,intersect是交集,
minus表示差集。
---建立測試表:
suxing@PROD>create table students(
2 stu_id number(4),
3 stu_name varchar2(10),
4 credit number(2));
Table created.
suxing@PROD>create table courses(
2 cou_id number(4),
3 cou_name varchar2(10),
4 credit number(2));
Table created.
---插入測試資料:
--往表students中插入測試資料:
suxing@PROD>insert into students values(1121,'susu',3);
1 row created.
suxing@PROD>insert into students values(1122,'sufi',3);
1 row created.
suxing@PROD>insert into students values(1131,'sike',2);
1 row created.
suxing@PROD>insert into students values(1131,'sike',3);
suxing@PROD>commit;
Commit complete.
--檢視students中的記錄:
suxing@PROD>select * from students;
STU_ID STU_NAME CREDIT
---------- ---------- ----------
1121 susu 3
1122 sufi 3
1131 sike 2
1131 sike 2
#共有4條記錄:
--往表courses中插入4條測試記錄:
suxing@PROD>insert into courses values(2212,'china',4);
1 row created.
suxing@PROD>insert into courses values(2213,'english',3);
1 row created.
suxing@PROD>insert into courses values(2214,'computer',5);
1 row created.
suxing@PROD>insert into courses values(2215,'C language',4);
1 row created.
suxing@PROD>commit;
Commit complete.
--檢視錶courses中的記錄:
suxing@PROD>select * from courses;
COU_ID COU_NAME CREDIT
---------- ---------- ----------
2212 china 4
2213 english 3
2214 computer 5
2215 C language 4
#共返回4條記錄。
--往表courses中插入4條測試記錄:
suxing@PROD>insert into courses values(2212,'china',4);
1 row created.
suxing@PROD>insert into courses values(2213,'english',3);
1 row created.
suxing@PROD>insert into courses values(2214,'computer',5);
1 row created.
suxing@PROD>insert into courses values(2215,'C language',4);
1 row created.
suxing@PROD>commit;
Commit complete.
--檢視錶courses中的記錄:
suxing@PROD>select * from courses;
COU_ID COU_NAME CREDIT
---------- ---------- ----------
2212 china 4
2213 english 3
2214 computer 5
2215 C language 4
#共返回4條記錄。
---進行union all集合查詢操作(並集不去重):
suxing@PROD>select * from students
2 union all
3 select * from courses;
STU_ID STU_NAME CREDIT
---------- ---------- ----------
1121 susu 3
1122 sufi 3
1131 sike 2
1131 sike 2
2212 china 4
2213 english 3
2214 computer 5
2215 C language 4
8 rows selected.
---再次進行union集合查詢(並集去重):
suxing@PROD>select * from students
2 union
3 select * from courses;
STU_ID STU_NAME CREDIT
---------- ---------- ----------
1121 susu 3
1122 sufi 3
1131 sike 2
2212 china 4
2213 english 3
2214 computer 5
2215 C language 4
7 rows selected.
#返回共7條記錄。
#返回共7條記錄,比以上的union all集合查詢返回的結果多了一條記錄。
因為進行union集合操作過程中把集合查詢結果中的重複記錄去除了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31392094/viewspace-2128503/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle的集合操作(union、union all、intersect、minus集合函式)Oracle函式
- MYSQL學習筆記24: 多表查詢(聯合查詢,Union, Union All)MySql筆記
- MySQL學習(五) UNION與UNION ALLMySql
- union 和union all 使用區別
- union all和union的區別
- union和union all 關鍵字
- sql中union和union all的用法SQL
- 組合查詢(UNION)
- MySQL中使用or、in與union all在查詢命令下的效率對比MySql
- sql中UNION和UNION ALL的區別SQL
- `FULL JOIN` 和 `UNION ALL`
- mysql求交集:UNION ALL合併查詢,inner join內連線查詢,IN/EXISTS子查詢MySql
- union all 最佳化案例
- MySQL--操作簡記(聯結表,組合查詢(UNION))MySql
- PostgreSQL 原始碼解讀(30)- 查詢語句#15(查詢優化-扁平化處理UNION ALL)SQL原始碼優化
- union的兩個子查詢是否並行並行
- 並查集(Union Find)並查集
- 資料庫學習(六)聯合查詢union資料庫
- 銀彈谷V平臺VSQL使用distinct與union all使用SQL
- hyperf 使用模型寫 union 子查詢並做分頁模型
- union用法
- union注入
- MySQL 合併查詢union 查詢出的行合併到一個表中MySql
- OceanBase 金融專案最佳化案例(union all 改寫)
- SQL Server中的集合運算: UNION, EXCEPT和INTERSECTSQLServer
- oracle知識整理(1) union和union all的區別,left join和right join的區別(各種join的區別)Oracle
- union存取低高位
- union和enum使用
- union 聯合體
- MySQL, Incorrect usage of UNION and ORDER BYMySql
- [CF1517F] Union
- Union Find程式碼塊
- sql注入之union注入SQL
- 通過這次聯合 (union) 查詢瞭解 Laravel DB 的資料繫結Laravel
- Analysis of Set Union Algorithms 題解Go
- Oracle優化案例-union代替or(九)Oracle優化
- SQL優化案例-union代替or(九)SQL優化
- Struct 和 Union有下列區別Struct
- SQLite語句(三):JOIN和UNIONSQLite