sqlany
① sql 中ANY和ALL的用法
any表示任意一個,all表示所有的。舉例如下:
1、創建測試表,create table test_any_all(id number);
② sql中any和all的區別
1、類型不同
這兩個都是用於子查詢的,any 是任意一個,all 是所有。
2、用法不同
select*fromstudentwhere班級='01'andage>all(selectagefromstudentwhere班級='02');
就是說,查詢出01班中,年齡大於 02班所有人 的 同學
相當於
select*fromstudentwhere班級='01'andage>(selectmax(age)fromstudentwhere班級='02');
而
select*fromstudentwhere班級='01'andage>any(selectagefromstudentwhere班級='02');
就是說,查詢出01班中,年齡大於02班任意一個的同學
相當於
select*fromstudentwhere班級='01'andage>(selectmin(age)fromstudentwhere班級='02');
(2)sqlany擴展閱讀:
ANY函數簡介
函數功能:判斷數組中元素是否為0
語法格式:
B = any(A)
判斷數組中元素是否是一個非零元素或邏輯1(true)。any函數會忽略掉數組中的NaN項(not a number)。
如果A是空的,any(A)返回邏輯0(false)。
如果A是一個向量(1行n列或n行1列的矩陣),只要A中有一個非零元素或A中有一個元素是邏輯1,any(A)返回邏輯1(true),否則(A中所有元素均為0)返回邏輯0(false)。
如果A是一個矩陣,any函數把A的每一列當做一個向量,any(A)返回一個行向量。
如果A是一個多維數組,any(A)對A中第一個非奇異維進行判斷。
B = any(A,dim)
dim指定了要進行判定的維數。例如,對於二維數組, any(A, 1)把A中每一列看做一個向量,然後進行判斷;any(A, 2)把A中每一行看做一個向量,然後進行判斷。
相關函數:all
③ sql語句中 < any 和 <all 的區別
你這樣理解是走入自己這個例子的誤區了,any表示子查詢的集合里有任何一個滿足就返回true,all表示全部都滿足才返回true,顯敬大然他們是不同的亮沖豎用法和意義。比如判磨你用age>any(15,16,22,21,17,18,19)來判斷一個人年齡是否大於集合里的所有人就是錯誤的,這里應該用all。