ITPub博客

首页 > 数据库 > 国内数据库 > HGDB中any用法

HGDB中any用法

国内数据库 作者:乐乐xixi 时间:2022-01-07 21:34:01 0 删除 编辑

HGDB ANY   运算符简介

ANY   运算符用于将一个标量(scalar)值和子查询返回的值的集合进行比较。下面是它的语法:

expresion operator ANY(subquery)


在这个语法中:

  • 子查询只能返回一个字段

  • ANY   运算符之前,必须加上以下比较运算符之一:  =, <=, >, <, >, <>

  • 如果  expresion   在  subquery   中有   operator   匹配的值,  ANY   返回  true  ,反之返回  false  。

HGDB ANY   运算符示例

我们使用示例数据库里的   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 );


结果如下:

图片.png

ANY   与 IN   对比

= 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/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2021-02-10

  • 博文量
    11
  • 访问量
    5170