首页 > 数据库 > 国内数据库 > HGDB中any用法
ANY
运算符用于将一个标量(scalar)值和子查询返回的值的集合进行比较。下面是它的语法:
expresion operator ANY(subquery)
在这个语法中:
子查询只能返回一个字段
ANY
运算符之前,必须加上以下比较运算符之一:
=, <=, >, <, >, <>
如果
expresion
在
subquery
中有
operator
匹配的值,
ANY
返回
true
,反之返回
false
。
我们使用示例数据库里的
film_category
和
film
表来演示
ANY
的用法。
以下示例返回按影片类别分组的影片的最大长度:
SELECT
MAX( length )
FROM
film
INNER JOIN film_category
USING(film_id)
GROUP BY
category_id;
可以把这个查询作为子查询,来获取到各组最大长度的影片信息:
SELECT title
FROM film
WHERE length = any
(SELECT MAX( length )
FROM film
INNER JOIN film_category USING(film_id)
GROUP BY category_id );
结果如下:
= ANY
和
IN
等效。
但
<> ANY
和
NOT IN
并不等效。
比如:
x <> ANY (a,b,c)
等价于:
x <> a OR <> b OR x <> c
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69994801/viewspace-2851224/ ,如需转载,请注明出处,否则将追究法律责任。