程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> oracle集合運算

oracle集合運算

編輯:Oracle教程

oracle集合運算


集合運算就是將兩個或者多個結果集組合成為一個結果集。集合運算包括:
INTERSECT(交集),返回兩個查詢共有的記錄。
UNION ALL(並集),返回各個查詢的所有記錄,包括重復記錄。
UNION(並集),返回各個查詢的所有記錄,不包括重復記錄。
MINUS(補集),返回第一個查詢檢索出的記錄減去第二個查詢檢索出的記錄之後剩余的記錄。

當使用集合操作的時候,要注意:查詢所返回的列數以及列的類型必須匹配,列名可以不同。

代碼演示:查詢出dept表中哪個部門下沒有員工。只需求出dept表中的部門號和emp表中的部門號的補集即可。

<span style="font-size:18px;">SQL> SELECT DEPTNO FROM DEPT MINUS SELECT DEPTNO FROM EMP; </span>


前面學習過可以通過insert into …select把一個結果集插入到另一張結構相同的表中,
因此可以使用union把若干條記錄一次性插入到一張表中。

代碼演示:用union插入多條數據

<span style="font-size:18px;">SQL> INSERT INTO DEPT
  2  SELECT 50,'公關部','台灣' FROM DUAL
  3  UNION
  4  SELECT 60,'研發部','西安' FROM DUAL
  5  UNION
  6  SELECT 70,'培訓部','西安' FROM DUAL
  7  /</span>


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved