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

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

SQL 基礎(chǔ)--> 集合運(yùn)算(UNION 與UNION ALL)

系統(tǒng) 2045 0

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

-- SQL 基礎(chǔ) --> 集合運(yùn)算 (UNION UNION ALL)

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

?

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

?

一、常用的集合運(yùn)算符

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

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

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

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

???

二、集合運(yùn)算的原則

??? 1. 所有選擇列表的表達(dá)式數(shù)目必須相同

??? 2. 對于結(jié)果集中各列,或個(gè)別子查詢中的任意列的子集必須具有相同的數(shù)據(jù)類型,或是可以隱式轉(zhuǎn)化為相同的數(shù)據(jù)類型,否則需顯示轉(zhuǎn)換

??? 3. 各個(gè)查詢中對應(yīng)的結(jié)果集列出現(xiàn)的順序必須相同

??? 4. 生成的結(jié)果集中的列名來自 UNION 語句中第一個(gè)單獨(dú)的查詢

?

三、演示各個(gè)集合運(yùn)算符 ??

???

??? -- 為集合運(yùn)算生成環(huán)境,生成有相同結(jié)構(gòu)的 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 ? 過濾了重復(fù)記錄

?????? 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 并集,不去重復(fù)記錄

?????? 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 交集 , 返回兩個(gè)結(jié)果集中共有了部分

?????? 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 ? 補(bǔ)集 , 前一個(gè)結(jié)果集減后一個(gè)結(jié)果集后的結(jié)果

?????? 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 數(shù)據(jù)庫實(shí)例啟動關(guān)閉過程

?

Oracle 10g SGA 的自動化管理

?

使用 OEM,SQL*Plus,iSQL*Plus 管理 Oracle 實(shí)例

?

Oracle 實(shí)例和 Oracle 數(shù)據(jù)庫 (Oracle 體系結(jié)構(gòu) )

?

SQL 基礎(chǔ) --> 常用函數(shù)

?

SQL 基礎(chǔ) --> 過濾和 排序

???

???

?

SQL 基礎(chǔ)--> 集合運(yùn)算(UNION 與UNION ALL)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 97视频在线观看视频最新 | 黄色录像一级毛片 | 亚洲欧美日韩不卡一区二区三区 | 国产精品蜜臀 | 综合久久久久久久 | 很黄的视频网站 | 欧美国产精品一区二区免费 | 精品91| 日日摸夜夜摸无需播放器 | 午夜激情男女 | 一区二区三区四区在线观看视频 | 久久99久久99精品免费看动漫 | 日本不卡视频在线观看 | www.黄色片网站 | 欧美亚洲精品在线 | 日本一区二区三区四区五区 | 亚洲网站免费 | 高清中文字幕免费观在线 | 国产精品一区二区三区免费 | 日韩成人午夜 | 毛色毛片免费看 | 色青青草原桃花久久综合 | 亚洲一区中文字幕 | 精品久久国产老人久久综合 | 手机看片国产欧美日韩高清 | 欧美高清视频www夜色资源 | 国语精品91自产拍在线观看二区 | 在线播放五十路乱中文 | 天天曰夜夜曰 | 欧美在线视频在线观看 | 人做人爱视频欧美在线观看 | 女人18毛片一级毛片在线 | 日本一区二区三区四区五区 | 日本精品高清一区二区2021 | 日本不卡免费高清一级视频 | 久久机热这里只有精品无需 | 久久老色鬼天天综合网观看 | 国产精品96久久久久久久 | 一级特黄aa大片欧美小说 | 精品久久成人 | 亚州免费一级毛片 |