ITPub博客

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

HGDB中any用法

原创 国内数据库 作者:瀚高PG实验室 时间:2021-12-30 16:05:10 0 删除 编辑
文档用途

在本教程中,您将学习如何使用  HGDB ANY  运算符将标量值与子查询返回的一组值进行比较。

详细信息

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

请登录后发表评论 登录
全部评论
瀚高PG实验室(Highgo PG Lab)依托于瀚高DBA运维团队及瀚高数据库PG内核研发团队,旨在深入研究PostgreSQL技术、使用技巧、内核探秘、PG教学等,并进行分享。欢迎大家关注、交流。

注册时间:2021-02-18

  • 博文量
    184
  • 访问量
    126058