首頁 php教程 PHP开发 Oracle minus用法詳解及應用實例

Oracle minus用法詳解及應用實例

Jan 06, 2017 am 10:59 AM

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,其中有下列記錄資料:

Oracle minus用法详解及应用实例

 那麼:

inus(1)「userselect 5 id from t_user where id between 3 and 7」的結果將為:

Oracle minus用法详解及应用实例

(2)「select age,level_no from t_user where id

Oracle minus用法详解及应用实例

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

Oracle minus用法详解及应用实例

 然後,「select age,level_no from t_user where level=3」的結果將會是這樣的:

Oracle minus用法详解及应用实例

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

Oracle minus用法详解及应用实例

       這個時候,我們可以看到結果集中存在重複的記錄,進行去重後就得到了上述的實際結果。其實這也很好理解,因為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 minus用法詳解及應用實例相關文章請關注PHP中文網!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)