HGDB中any用法

曾无好事来相访,赖尔高文一起予。这篇文章主要讲述HGDB中any用法相关的知识,希望能为你提供帮助。
目录
文档用途
详细信息


文档用途
在本教程中,您将学习如何使用  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  );



结果如下:

ANY  与  IN  对比??= ANY??  和  ??IN??  等效。
但  ??< > ANY??  和  ??NOT IN??  并不等效。
比如:
x  < >   ANY  (a,b,c)



等价于:
x  < >   a  OR  < >   b  OR  x  < >   c

【HGDB中any用法】


    推荐阅读