集合運算(UNION與UNIONALL)--=============================================集合運算操作符可以將兩個或多個查詢返回的行組合起來,即集合屬于縱向連接運算一、常用的集合運算符UNIONALL返回各個查詢檢索出的所有的行,不過濾掉重復記錄UNION返回各個查詢檢索出的過濾掉重復記錄的所有行,即" />

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

SQL 基礎--> 集合運算(UNION 與UNION ALL)

系統 1717 0

--=============================================

-- SQL 基礎 --> 集合運算 (UNION UNION ALL)

--=============================================

?

??? 集合運算操作符可以將兩個或多個查詢返回的行組合起來,即集合屬于縱向連接運算

?

一、常用的集合運算符

??? UNION ALL 返回各個查詢檢索出的所有的行,不過濾掉重復記錄

??? UNION ???? 返回各個查詢檢索出的過濾掉重復記錄的所有行,即并集

??? INTERSECT 返回兩個查詢檢索出的共有行,即交集

??? MINUS ???? 返回將第二個查詢檢索出的行從第一個查詢檢索出的行中減去之后剩余的行,即差集

???

二、集合運算的原則

??? 1. 所有選擇列表的表達式數目必須相同

??? 2. 對于結果集中各列,或個別子查詢中的任意列的子集必須具有相同的數據類型,或是可以隱式轉化為相同的數據類型,否則需顯示轉換

??? 3. 各個查詢中對應的結果集列出現的順序必須相同

??? 4. 生成的結果集中的列名來自 UNION 語句中第一個單獨的查詢

?

三、演示各個集合運算符 ??

???

??? -- 為集合運算生成環境,生成有相同結構的 emp 表,且命名為 emp2

??? SQL > conn scott / tiger ;

??? Connected .

??? SQL > select * from emp ;

?

?????? ? EMPNO ENAME ????? JOB ????????????? MGR HIREDATE ???????? SAL ?????? COMM ???? DEPTNO

??? ---------- ---------- --------- ---------- --------- ---------- ---------- ----------

?????? ? 7369 SMITH ????? CLERK ?????????? 7902 17 - DEC - 80 ??????? 800 ??????????????????? 20

?????? ? 7499 ALLEN ????? SALESMAN ??????? 7698 20 - FEB - 81 ?????? 1600 ??????? 300 ???????? 30

?????? ? 7521 WARD ?????? SALESMAN ??????? 7698 22 - FEB - 81 ?????? 1250 ??????? 500 ???????? 30

?????? ? 7566 JONES ????? MANAGER ???????? 7839 02 - APR - 81 ?????? 2975 ??????????????????? 20

?????? ? 7654 MARTIN ???? SALESMAN ??????? 7698 28 - SEP - 81 ?????? 1250 ?????? 1400 ???????? 30

?????? ? 7698 BLAKE ????? MANAGER ???????? 7839 01 - MAY - 81 ?????? 2850 ??????????????????? 30

?????? ? 7782 CLARK ????? MANAGER ???????? 7839 09 - JUN - 81 ? ????? 2450 ??????????????????? 10

?????? ? 7788 SCOTT ????? ANALYST ???????? 7566 19 - APR - 87 ?????? 3000 ??????????????????? 20

?????? ? 7839 KING ?????? PRESIDENT ??????????? 17 - NOV - 81 ?????? 5000 ??????????????????? 10

?????? ? 7844 TURNER ???? SALESMAN ??????? 7698 08 - SEP - 81 ????? ? 1500 ????????? 0 ???????? 30

?????? ? 7876 ADAMS ????? CLERK ?????????? 7788 23 - MAY - 87 ?????? 1100 ??????????????????? 20

?

?????? ? EMPNO ENAME ????? JOB ????????????? MGR HIREDATE ???????? SAL ?????? COMM ???? DEPTNO

??? ---------- ---------- --------- ---------- --------- ---------- ---------- ----------

?????? ? 7900 JAMES ????? CLERK ?????????? 7698 03 - DEC - 81 ??????? 950 ??????????????????? 30

?????? ? 7902 FORD ?????? ANALYST ???????? 7566 03 - DEC - 81 ?????? 3000 ??????????????????? 20

?????? ? 7934 MILLER ???? CLERK ?????????? 7782 23 - JAN - 82 ?????? 1300 ??????????????????? 10

?

??? 14 rows selected .

?

??? SQL > create table emp2 tablespace tbs1 as select * from emp where empno in ( 7369 , 7654 , 7839 , 7876 );

?

??? Table created .

???

??? SQL > insert into emp2 ( empno , ename , sal ) select 8001 , 'ROBINSON' , 3500 from dual ;

?

??? 1 row created .

?

??? SQL > insert into emp2 ( empno , ename , sal ) select 8002 , 'HENRY' , 3700 from dual ;

?

??? 1 row created .

?

??? SQL > insert into emp2 ( empno , ename , sal ) select 8004 , 'JOHNSON' , 4000 from dual ;

?

??? 1 row created .

???

??? SQL > select * from emp2 ;

?

?????? ? EMPNO ENAME ????? JOB ????????????? MGR HIREDATE ???????? SAL ?????? COMM ???? DEPTNO

??? ---------- ---------- --------- ---------- --------- ---------- ---------- ----------

?????? ? 7369 SMITH ????? CLERK ?????????? 7902 17 - DEC - 80 ??????? 800 ??????????????????? 20

?????? ? ? 7654 MARTIN ???? SALESMAN ??????? 7698 28 - SEP - 81 ?????? 1250 ?????? 1400 ???????? 30

?????? ? 7839 KING ?????? PRESIDENT ??????????? 17 - NOV - 81 ?????? 5000 ??????????????????? 10

?????? ? 7876 ADAMS ????? CLERK ?????????? 7788 23 - MAY - 87 ?????? 1100 ??????????????????? 20

?????? ? 8001 ROBINSON ??????????????????????????????????????? 3500

?????? ? 8002 HENRY ?????????????????????????????????????????? 3700

?????? ? 8004 JOHNSON ???????????????????????????????????????? 4000

?

??? --1.UNION ? 過濾了重復記錄

?????? SQL > select empno , ename , job , hiredate , sal from emp

?????? ? 2 ? union ???

?????? ? 3 ? select empno , ename , job , hiredate , sal from emp2 ;

?

?????????? ? EMPNO ENAME ????? JOB ?????? HIREDATE ???????? SAL

?????? ---------- ---------- --------- --------- ----------

?????????? ? 7369 SMITH ????? CLERK ???? 17 - DEC - 80 ??????? 800

?????????? ? 7499 ALLEN ????? SALESMAN ? 20 - FEB - 81 ?????? 1600

?????????? ? 7521 WARD ?????? SALESMAN ? 22 - FEB - 81 ?????? 1250

?????????? ? 7566 JONES ????? MANAGER ?? 02 - APR - 81 ?????? 2975

?????????? ? 7654 MARTIN ???? SALESMAN ? 28 - SEP - 81 ?????? 1250

?????????? ? 7698 BLAKE ????? MANAGER ?? 01 - MAY - 81 ?????? 2850

?????????? ? 7782 CLARK ????? MANAGER ?? 09 - JUN - 81 ?????? 2450

?????????? ? 7788 SCOTT ????? ANALYST ?? 19 - APR - 87 ?????? 3000

?????????? ? 7839 KING ?????? PRESIDENT 17 - NOV - 81 ?????? 5000

?????????? ? 7844 TURNER ???? SALESMAN ? 08 - SEP - 81 ?????? 1500

?????????? ? 7876 ADAMS ????? CLERK ???? 23 - MAY - 87 ?????? 1100

?

?????????? ? EMPNO ENAME ????? JOB ?????? HIREDATE ???????? SAL

?????? ---------- ---------- --------- --------- ----------

?????????? ? 7900 JAMES ????? CLERK ???? 03 - DEC - 81 ??????? 950

?????????? ? 7902 FORD ?????? ANALYST ?? 03 - DEC - 81 ?????? 3000

?????????? ? 7934 MILLER ???? CLERK ???? 23 - JAN - 82 ?? ???? 1300

?????????? ? 8001 ROBINSON ???????????????????????????? 3500

?????????? ? 8002 HENRY ??????????????????????????????? 3700

?????????? ? 8004 JOHNSON ????????????????????????????? 4000

?????? 17 rows selected .

???

??? --2.UNION ALL 并集,不去重復記錄

?????? SQL > select empno , ename , job , hiredate , sal from emp

?????? ? 2 ? union all

?????? ? 3 ? select empno , ename , job , hiredate , sal from emp2 ;

?

?????????? ? EMPNO ENAME ????? JOB ?????? HIREDATE ???????? SAL

?????? ---------- ---------- --------- --------- ----------

?????????? ? 7369 SMITH ????? CLERK ???? 17 - DEC - 80 ??????? 800

?????????? ? 7499 ALLEN ????? SALESMAN ? 20 - FEB - 81 ?????? 1600

?????????? ? 7521 WARD ?????? SALESMAN ? 22 - FEB - 81 ?????? 1250

?????????? ? 7566 JONES ????? MANAGER ?? 02 - APR - 81 ?????? 2975

?????????? ? 7654 MARTIN ???? SALESMAN ? 28 - SEP - 81 ?????? 1250

?????????? ? 7698 BLAKE ????? MANAGER ?? 01 - MAY - 81 ?????? 2850

?????????? ? 7782 CLARK ????? MANAGER ?? 09 - JUN - 81 ?????? 2450

?????????? ? 7788 SCOTT ????? ANALYST ?? 19 - APR - 87 ?????? 3000

?????????? ? 7839 KING ?????? PRESIDENT 17 - NOV - 81 ?????? 5000

?????????? ? 7844 TURNER ???? SALESMAN ? 08 - SEP - 81 ?????? 1500

?????????? ? 7876 ADAMS ????? CLERK ???? 23 - MAY - 87 ?????? 1100

?

?????????? ? EMPNO ENAME ????? JOB ?????? HIREDATE ???????? SAL

?????? ---------- ---------- --------- --------- ----------

?????????? ? 7900 JAMES ????? CLERK ???? 03 - DEC - 81 ??????? 950

?????????? ? 7902 FORD ?????? ANALYST ?? 03 - DEC - 81 ?????? 3000

?????????? ? 7934 MILLER ???? CLERK ??? ? 23 - JAN - 82 ?????? 1300

?????????? ? 7369 SMITH ????? CLERK ???? 17 - DEC - 80 ??????? 800

?????????? ? 7654 MARTIN ???? SALESMAN ? 28 - SEP - 81 ?????? 1250

?????????? ? 7839 KING ?????? PRESIDENT 17 - NOV - 81 ?????? 5000

?????????? ? 7876 ADAMS ????? CLERK ???? 23 - MAY - 87 ?????? 1100

?????????? ? 8001 ROBINSON ???????????????????????????? 3500

?????????? ? 8002 HENRY ??????????????????????????????? 3700

?????????? ? 8004 JOHNSON ????????????????????????????? 4000

?

?????? 21 rows selected .

?

??? --3.INTERSECT 交集 , 返回兩個結果集中共有了部分

?????? SQL > select empno , ename , job , hiredate , sal from emp

?????? ? 2 ? intersect

?????? ? 3 ? select empno , ename , job , hiredate , sal from emp2 ;

?

?????????? ? EMPNO ENAME ????? JOB ?????? HIREDATE ???????? SAL

?????? ---------- ---------- --------- --------- ----------

?????????? ? 7369 SMITH ????? CLERK ???? 17 - DEC - 80 ??????? 800

?????????? ? 7654 MARTIN ???? SALESMAN ? 28 - SEP - 81 ?????? 1250

?????????? ? 7839 KING ?????? PRESIDENT 17 - NOV - 81 ?????? 5000

?????????? ? 7876 ADAMS ????? CLERK ???? 23 - MAY - 87 ?????? 1100

?????????????

??? --4.MINUS ? 補集 , 前一個結果集減后一個結果集后的結果

?????? SQL > select empno as "EmployeeNo" , ename ? "EmployeeName" , job ? "Job" , hiredate as "HireDate" , sal "Sal" from emp

?????? ? 2 ? minus

?????? ? 3 ? select empno , ename , job , hiredate , sal from emp2

?????? ? 4 ? order by "Sal" ;

?

?????? EmployeeNo EmployeeNa Job ?????? HireDate ???????? Sal

?????? ---------- ---------- --------- --------- ----------

?????????? ? 7900 JAMES ????? CLERK ???? 03 - DEC - 81 ??????? 950

?????????? ? 7521 WARD ?????? SALESMAN ? 22 - FEB - 81 ?????? 1250

?????????? ? 7934 MILLER ???? CLERK ???? 23 - JAN - 82 ?????? 1300

?????????? ? 7844 TURNER ???? SALESMAN ? 08 - SEP - 81 ?????? 1500

?????????? ? 7499 ALLEN ????? SALESMAN ? 20 - FEB - 81 ?????? 1600

?????????? ? 7782 CLARK ????? MANAGER ?? 09 - JUN - 81 ?????? 2450

?????????? ? 7698 BLAKE ????? MANAGER ?? 01 - MAY - 81 ?????? 2850

?????????? ? 7566 JONES ????? MANAGER ?? 02 - APR - 81 ?????? 2975

?????????? ? 7788 SCOTT ????? ANALYST ?? 19 - APR - 87 ?????? 3000

?????????? ? 7902 FORD ?????? ANALYST ?? 03 - DEC - 81 ?????? 3000

?

?????? 10 rows selected .

?

四、更多

?

Oracle 數據庫實例啟動關閉過程

?

Oracle 10g SGA 的自動化管理

?

使用 OEM,SQL*Plus,iSQL*Plus 管理 Oracle 實例

?

Oracle 實例和 Oracle 數據庫 (Oracle 體系結構 )

?

SQL 基礎 --> 常用函數

?

SQL 基礎 --> 過濾和 排序

???

???

?

SQL 基礎--> 集合運算(UNION 與UNION ALL)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产精品久久精品牛牛影视 | 国内精品自在自线视频香蕉 | 国产视频久久 | 免费精品在线视频 | 亚洲综合在线成人一区 | 亚洲欧美日本视频 | 亚洲系列中文字幕一区二区 | 亚洲精品一区二区三区香蕉在线看 | 久久久国产精品视频 | 国产色综合久久无码有码 | 国产69精品久久久久9999 | www.欧美日本免费视频 | 久久香蕉国产线看观看亚洲卡 | 四虎永久免费在线 | 久久精品国产主播一区二区 | 夜色资源网yese321 | 99热久久国产精品这里有全部 | 婷婷的久久五月综合先锋影音 | 国产亚洲男人的天堂在线观看 | 香蕉尹人 | 九九视频九九热 | 污视频在线网站 | 成人小视频免费在线观看 | 乱色 另类图区 | 国产成人刺激视频在线观看 | 免费爽视频 | 国产美女一级高清免费观看 | 久久久噜噜噜久久 | 国产成人精品男人的天堂538 | 国产精品欧美亚洲韩国日本久久 | α片毛片 | 99热在线观看精品 | 亚洲视频www | 夜夜骑狠狠干 | aaaaaa国产毛片孕妇版 | 一区二区三区在线免费看 | 月婷婷色狠狠 | 国产欧美日韩精品一区二 | 国产一级片子 | 久久精品女人天堂 | 四虎影视永久免费观看地址 |