国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

oracle中all、any函數用法與區別說明

瀏覽:178日期:2023-05-30 16:13:56

基礎概念

在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)

Oracle中any和all的區別用法

對于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
主站蜘蛛池模板: 醴陵市| 武汉市| 中卫市| 庆云县| 古浪县| 永泰县| 乌鲁木齐县| 苍南县| 平南县| 永福县| 新闻| 信丰县| 仪陇县| 伊吾县| 沈丘县| 湖南省| 梓潼县| 常德市| 缙云县| 贞丰县| 洪江市| 临汾市| 黎平县| 谢通门县| 开封市| 伊通| 镶黄旗| 神池县| 重庆市| 乌审旗| 秭归县| 全南县| 林口县| 冀州市| 曲松县| 连平县| 杭锦后旗| 抚州市| 修武县| 开鲁县| 盐亭县|