HGDB中any用法

Posted 瀚高PG实验室

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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用法的主要内容,如果未能解决你的问题,请参考以下文章

HGDB中any用法

HGDB中any用法

HGDB创建同名同参函数实现SqlServer中的DATEADD函数

SQL中的ALL,ANY,SOME的用法

MySQL中 any,some,all 的用法

boost any library 的典型用法是啥?