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