《小常識 23》sql中any與some的區別

2021-07-31 23:15:48 字數 827 閱讀 8305

#在 sql 中 any 和 some 是同義詞,所以下面介紹的時候只使用 any,some 的用法

#和功能和 any 一模一樣。和 in 運算子不同,any 必須和其他的比較運算子共同使用,而

#且必須將比較運算子放在 any 關鍵字之前,所比較的值需要匹配子查詢中的任意乙個值,

#這也就是 any 在英文中所表示的意義

#外 部 查 詢 中 的 where 子 句 指 定 fyearofjoin 必 須 等 於 子 查 詢 select

#fyearpublished from t_book 所返回的集合中的任意乙個值

select 	* from 	t_reader where 	fyearofjoin = any ( 		select 			fyearpublished 		from 			t_book 	)
select 	* from 	t_reader where 	fyearofjoin in ( 		select 			fyearpublished 		from 			t_book 	)
#結果:使用 in 和使用 any運算子得到的結果是一致的

#結論:也就是說「=any」等價於 in 運算子,而「<>any」則等價於 not in 運算子

#注意:注意,和 in 運算子不同,any 運算子不能與固定的集合相匹配,比如下面的 sql 語句是錯誤的

select

*from

t_book

where

fyearpublished < any (2001, 2003, 2005)

SQL中UNION與UNIONALL的區別

sqlserver2000中 union與 unionall的 區別union運算子 將兩個或更多查詢的結果組合為單個結果集,該結果集包含聯合查詢中的所有查詢的全部行。這與使用聯接組合兩個表中的列不同。使用union組合兩個查詢的結果集的兩個基本規則是 所有查詢中的列數和列的順序必須相同。資料型別必...

SQL中IS NOT NULL與 NULL的區別

平時經常會遇到這兩種寫法 is not null與 null。也經常會遇到資料庫有符合條件 null的資料,但是返回為空集合。實際上,是由於對二者使用區別理解不透徹。預設情況下,推薦使用 is not null去做條件判斷,因為sql預設情況下對where xx!null的判斷會永遠返回0行,卻不會...

SQL中IS NOT NULL與 NULL的區別

平時經常會遇到這兩種寫法 is not null與 null。也經常會遇到資料庫有符合條件 null的資料,但是返回為空集合。實際上,是由於對二者使用區別理解不透徹。預設情況下,推薦使用 is not null去做條件判斷,因為sql預設情況下對where xx!null的判斷會永遠返回0行,卻不會...