mysql中all的用法:1、all是“對于子查詢返回的列中的所有值,如果比較結(jié)果為true,則返回true”;2、all可以與【=、>、>=、<、<=、<>】結(jié)合是來使用,分別表示等于、大于、大于等于、小于、小于等于、不等于。
mysql中all的用法:
最近一直在練習(xí)MYSQL的多表查詢,基本上每個查詢語句我都會寫至少兩次:一次join連接,一次子查詢。來對比一下MYSQL在不同的查詢方式下的工作方式和效率。在子查詢有any、all、some這些關(guān)鍵詞。
any,all關(guān)鍵字必須與一個比較操作符一起使用。any關(guān)鍵詞可以理解為“對于子查詢返回的列中的任一數(shù)值,如果比較結(jié)果為true,則返回true”。all的意思是“對于子查詢返回的列中的所有值,如果比較結(jié)果為true,則返回true”
any 可以與=、>、>=、<、<=、<>結(jié)合起來使用,分別表示等于、大于、大于等于、小于、小于等于、不等于其中的任何一個數(shù)據(jù)。
all可以與=、>、>=、<、<=、<>結(jié)合是來使用,分別表示等于、大于、大于等于、小于、小于等于、不等于其中的其中的所有數(shù)據(jù)。
舉個例子:
select s1 from t1 where s1 > any (select s1 from t2);
假設(shè)any后面的s1返回了三個值,那其實就等價于
select s1 from t1 where s1 > result1 or s1 > result2 or s2 > result3
而all的用法相當于把上述語句的‘or’緩沖‘a(chǎn)nd’
說道這你可能已經(jīng)知道了any和or常用于兩表的對比,當你不知道where后面具體值是可以用any,all幫你判定。