《小常识-23》sql中any与some的区别

xiaoxiao2021-02-28  9

#在 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)
转载请注明原文地址: https://www.6miu.com/read-250038.html

最新回复(0)