oracle中all、any函數(shù)用法與區(qū)別說(shuō)明
基礎(chǔ)概念
在Oracle中,any()表示括號(hào)內(nèi)任何一個(gè)條件,只要有一個(gè)滿(mǎn)足即可;而all()表示所有的條件都滿(mǎn)足才可以。
代碼演示
1.all用法
--大于最大值 select * from A where id >= all(select id from A) --這相當(dāng)于 select * from A where id >= (select max(id) from A) --小于最小值 select * from A where id <= all(select id from A) --這相當(dāng)于 select * from A where id <= (select min(id) from A)
2.any用法
--大于任意一個(gè)數(shù)即可,大于最小值 select * from A where id >= any(select id from A) --這相當(dāng)于 select * from A where id >= (select min(id) from A) --小于任意一個(gè)數(shù)即可,小于最大值 select * from A where id <= any(select id from A) --這相當(dāng)于 select * from A where id <= (select max(id) from A)
Oracle中any和all的區(qū)別用法
對(duì)于any,all的用法,書(shū)中說(shuō)的比較繞口,難以理解,如果通過(guò)舉例就會(huì)比較清晰.
any的例子:
select * from t_hq_ryxx where gongz > any (select pingjgz from t_hq_bm);
輸出的結(jié)果是所有大于字段‘pingjgz‘中最小數(shù)的值,簡(jiǎn)單來(lái)說(shuō)就是輸出的數(shù)全部大于‘pingjgz‘字段中的最小值;
select * from t_hq_ryxx where gongz < all (select pingjgz from t_hq_bm);
輸出的結(jié)果是所有小于字段‘pingjgz‘中最大數(shù)的值,簡(jiǎn)單來(lái)說(shuō)就是輸出的數(shù)全部小于‘pingjgz‘字段中的最大值;
即:大于最小值,小于最大值
all的例子:
select * from t_hq_ryxx where gongz > all (select pingjgz from t_hq_bm);
輸出的結(jié)果是所有大于字段‘pingjgz‘中最大數(shù)的值,簡(jiǎn)單來(lái)說(shuō)就是輸出的數(shù)全部大于‘pingjgz‘字段中的最大值;
select * from t_hq_ryxx where gongz < all (select pingjgz from t_hq_bm);
輸出的結(jié)果是所有小于字段‘pingjgz‘中最小數(shù)的值,簡(jiǎn)單來(lái)說(shuō)就是輸出的數(shù)全部小于‘pingjgz‘字段中的最小值;
即:小于最小值,大于最大值
如果還是不清楚,把下面這句看懂也就夠了:
any 就是匹配集合中的任意一個(gè)就滿(mǎn)足條件了;而 all 要跟所有的都比較,所有都滿(mǎn)足以后才為真。
相關(guān)文章
oracle中讀寫(xiě)blob字段的問(wèn)題解析
這篇文章以程序?qū)嵗f(shuō)明通過(guò)JDBC操縱Oracle數(shù)據(jù)庫(kù)LOB類(lèi)型字段的幾種情況2013-09-09Oracle dbca時(shí)報(bào):ORA-12547: TNS:lost contact錯(cuò)誤的解決
這篇文章主要給大家介紹了關(guān)于Oracle在dbca時(shí)報(bào):ORA-12547: TNS:lost contact錯(cuò)誤的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-11-11oracle 聲明游標(biāo)(不具備字段)規(guī)則應(yīng)用
在開(kāi)發(fā)過(guò)程中可能會(huì)聲明一個(gè)含有某張表不具備字段的游標(biāo),來(lái)解決特殊問(wèn)題,本文將詳細(xì)介紹這類(lèi)問(wèn)題,需要了解更多的朋友可以參考下2012-11-11解決Oracle?查詢(xún)時(shí)報(bào)錯(cuò)ORA-00923:?FROM?keyword?not?found?where?
這篇文章主要介紹了解決Oracle?查詢(xún)時(shí)報(bào)錯(cuò)ORA-00923:?FROM?keyword?not?found?where?expected的問(wèn)題,主要給大家介紹可能發(fā)生報(bào)錯(cuò)的幾種情況,感興趣的朋友跟隨小編一起看看吧2023-03-03解決Oracle?DISTINCT?報(bào)錯(cuò)?inconsistent?datatypes:?expected?
這篇文章主要介紹了Oracle DISTINCT報(bào)錯(cuò)inconsistent datatypes:expected-got CLOB(數(shù)據(jù)類(lèi)型不一致:?應(yīng)為-,但卻獲得?CLOB),本文給大家分享三種解決方案,需要的朋友可以參考下2023-07-07Oracle11g數(shù)據(jù)庫(kù)win8.1系統(tǒng)安裝配置圖文教程
這篇文章主要介紹了 Oracle11g數(shù)據(jù)庫(kù)win8.1系統(tǒng)安裝配置圖文教程的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07Oracle數(shù)據(jù)庫(kù)中的觸發(fā)器詳解
這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫(kù)中觸發(fā)器的相關(guān)資料,觸發(fā)器也是保護(hù)數(shù)據(jù)完整性的一種重要方法,于存儲(chǔ)過(guò)程不同的是,觸發(fā)器是通過(guò)事件進(jìn)行觸發(fā)被執(zhí)行,存儲(chǔ)過(guò)程需要被調(diào)用執(zhí)行,需要的朋友可以參考下2024-02-02Oracle如何更改表空間的數(shù)據(jù)文件位置詳解
這篇文章主要給大家介紹了關(guān)于Oracle如何更改表空間的數(shù)據(jù)文件位置,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11Oracle解析復(fù)雜json的方法實(shí)例詳解
這篇文章主要介紹了Oracle解析復(fù)雜json的方法,本文給大家?guī)?lái)兩種方法解決此問(wèn)題,需要的朋友可以參考下2017-05-05