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用法的主要内容,如果未能解决你的问题,请参考以下文章