好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Oracle minus用法詳解及應用實例

Oracle minus用法詳解及應用實例

熱門標簽:電話機器人那種好 外呼系統好點子 百度地圖標注飯店位置怎么 南通電銷外呼系統哪家強 區域地圖標注怎么設置 理財產品電銷機器人 地圖標注的坐標點 百度地圖標注注解 上海網絡外呼系統

Oracle minus用法

       “minus”直接翻譯為中文是“減”的意思,在Oracle中也是用來做減法操作的,只不過它不是傳統意義上對數字的減法,而是對查詢結果集的減法。A minus B就意味著將結果集A去除結果集B中所包含的所有記錄后的結果,即在A中存在,而在B中不存在的記錄。其算法跟Java中的Collection的removeAll()類似,即A minus B將只去除A跟B的交集部分,對于B中存在而A中不存在的記錄不會做任何操作,也不會拋出異常。

       Oracle的minus是按列進行比較的,所以A能夠minus B的前提條件是結果集A和結果集B需要有相同的列數,且相同列索引的列具有相同的數據類型。此外,Oracle會對minus后的結果集進行去重,即如果A中原本多條相同的記錄數在進行A minus B后將會只剩一條對應的記錄,具體情況請看下面的示例。

        下面我們來看一個minus實際應用的示例,假設我們有一張用戶表t_user,其中有如下記錄數據:

id

no

name

age

level_no

1

00001

a

25

1

2

00002

b

30

2

3

00003

c

35

3

4

00004

d

45

1

5

00005

e

30

2

6

00006

f

35

3

7

00007

g

25

1

8

00008

h

35

2

9

00009

i

20

3

10

00010

j

25

1

       那么:

       (1)“select id from t_user where id6 minus select id from t_user where id between 3 and 7”的結果將為:

id

1

2

       (2)“select age,level_no from t_user where id8 minus select age,level_no from t_user where level=3”的結果為:

 

age

level_no

25

1

30

2

45

1

        看到這樣的結果,可能你會覺得有點奇怪,為何會是這樣呢?我們來分析一下。首先,“select age,level_no from t_user where id8”的結果將是這樣的:

age

level_no

25

1

30

2

35

3

45

1

30

2

35

3

25

1

       然后,“select age,level_no from t_user where level=3”的結果將是這樣的:

age

level_no

35

3

35

3

20

3

       然后,直接A minus B之后結果應當是:

age

level_no

25

1

30

2

45

1

30

2

25

1

       這個時候,我們可以看到結果集中存在重復的記錄,進行去重后就得到了上述的實際結果。其實這也很好理解,因為minus的作用就是找出在A中存在,而在B中不存在的記錄。

       上述示例都是針對于單表的,很顯然,使用minus進行單表操作是不具備優勢的,其通常用于找出A表中的某些字段在B表中不存在對應記錄的情況。比如我們擁有另外一個表t_user2,其擁有和t_user表一樣的表結構,那么如下語句可以找出除id外,在t_user表中存在,而在t_user2表中不存在的記錄。

select no,name,age,level_no from t_user minus select no,name,age,level_no from t_user2;

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

您可能感興趣的文章:
  • oracle數據庫中sql%notfound的用法詳解
  • Oracle中的INSTR,NVL和SUBSTR函數的用法詳解
  • oracle數據庫定時任務dbms_job的用法詳解
  • Oracle存儲過程游標用法分析
  • Oracle開發之分析函數簡介Over用法
  • 講解Oracle數據庫中的數據字典及相關SQL查詢用法
  • Oracle中游標Cursor基本用法詳解

標簽:紹興 昭通 自貢 百色 中衛 寧波 遼源 海東

巨人網絡通訊聲明:本文標題《Oracle minus用法詳解及應用實例》,本文關鍵詞  Oracle,minus,用法,詳解,及,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Oracle minus用法詳解及應用實例》相關的同類信息!
  • 本頁收集關于Oracle minus用法詳解及應用實例的相關信息資訊供網民參考!
  • 推薦文章