這篇文章主要介紹了oracle中all、any函數怎么使用的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇oracle中all、any函數怎么使用文章都會有所收獲,下面我們一起來看看吧。
在Oracle中,any()表示括號內任何一個條件,只要有一個滿足即可;而all()表示所有的條件都滿足才可以。
1.all用法
--大于最大值 select * from A where id >= all(select id from A) --這相當于 select * from A where id >= (select max(id) from A) --小于最小值 select * from A where id <= all(select id from A) --這相當于 select * from A where id <= (select min(id) from A)
2.any用法
--大于任意一個數即可,大于最小值 select * from A where id >= any(select id from A) --這相當于 select * from A where id >= (select min(id) from A) --小于任意一個數即可,小于最大值 select * from A where id <= any(select id from A) --這相當于 select * from A where id <= (select max(id) from A)
對于any,all的用法,書中說的比較繞口,難以理解,如果通過舉例就會比較清晰.
any的例子:
select * from t_hq_ryxx where gongz > any (select pingjgz from t_hq_bm);
輸出的結果是所有大于字段‘pingjgz‘中最小數的值,簡單來說就是輸出的數全部大于‘pingjgz‘字段中的最小值;
select * from t_hq_ryxx where gongz < all (select pingjgz from t_hq_bm);
輸出的結果是所有小于字段‘pingjgz‘中最大數的值,簡單來說就是輸出的數全部小于‘pingjgz‘字段中的最大值;
即:大于最小值,小于最大值
all的例子:
select * from t_hq_ryxx where gongz > all (select pingjgz from t_hq_bm);
輸出的結果是所有大于字段‘pingjgz‘中最大數的值,簡單來說就是輸出的數全部大于‘pingjgz‘字段中的最大值;
select * from t_hq_ryxx where gongz < all (select pingjgz from t_hq_bm);
輸出的結果是所有小于字段‘pingjgz‘中最小數的值,簡單來說就是輸出的數全部小于‘pingjgz‘字段中的最小值;
即:小于最小值,大于最大值
如果還是不清楚,把下面這句看懂也就夠了:
any 就是匹配集合中的任意一個就滿足條件了;而 all 要跟所有的都比較,所有都滿足以后才為真。
關于“oracle中all、any函數怎么使用”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“oracle中all、any函數怎么使用”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。