📜  PostgreSQL - 一些运算符

📅  最后修改于: 2022-05-13 01:57:15.407000             🧑  作者: Mango

PostgreSQL - 一些运算符

PostgreSQL 有一个 SOME运算符,用于将标量值与子查询返回的一组值进行比较。

Syntax: expression operator SOME(subquery)

使用 PostgreSQL SOME运算符时必须遵循以下规则:

  • 子查询必须正好返回一列。
  • 在一些运算符必须通过以下运算符之一前面=,<=,>,和<>
  • 如果子查询的任何值满足条件,则 SOME运算符返回 true,否则返回 false。

在本文中,我们将使用示例 DVD 租赁数据库,此处进行了说明,可以通过单击示例中的此链接进行下载。

示例 1:

在这里,我们将从样本数据库的“电影”表中查询按电影类别分组的电影的最大长度。

SELECT title
FROM film
WHERE length >= SOME(
    SELECT MAX( length )
    FROM film
    INNER JOIN film_category USING(film_id)
    GROUP BY  category_id );

输出:

示例 2:
在这里,我们将从示例数据库的“类别”表中查询类别为 Action(category_id = 1) 或 Drama(category_id = 7) 的电影。

SELECT
    title,
    category_id
FROM
    film
INNER JOIN film_category
        USING(film_id)
WHERE
    category_id = SOME(
        SELECT
            category_id
        FROM
            category
        WHERE
            NAME = 'Action'
            OR NAME = 'Drama'
    );

输出: