IN、ALL、ANY、SOME的解释
IN:在范围内的值,只要有就true
ALL: 与子查询返回的所有值比较为true 则返回true
ANY:与子查询返回的任何值比较为true 则返回true
SOME:是ANY的别称,很少用
not in 是 “<>all”的别名,用法相同。
语句in 与“=any”是相同的。
语句some是any的别名,用法相同。
any 可以与=、>、>=、<、<=、<>结合起来使用,分别表示等于、大于、大于等于、小于、小于等于、不等于其中的任何一个数据。
all可以与=、>、>=、<、<=、<>结合是来使用,分别表示等于、大于、大于等于、小于、小于等于、不等于其中的其中的所有数据。
注意:
ALL、ANY、SOME的使用 必须 要用到比较操作符
1、ALL的特殊情况
如果table1为空表 则都为TRUE
与如果子查询中有NULL 最终父查询返回结果都是NULL
2、ANY的特殊情况
空表和NULL的结果都是NULL