PostgreSQL – ALGÚN operador

PostgreSQL tiene un operador SOME que se usa para comparar un valor escalar con un conjunto de valores devueltos por una subconsulta.

Syntax: expression operator SOME(subquery)

Se deben seguir las siguientes reglas al usar el operador SOME de PostgreSQL:

  • La subconsulta debe devolver exactamente una columna.
  • El operador SOME debe estar precedido por uno de los siguientes operadores de comparación =, <=, >, <, > y <>
  • El operador SOME devuelve verdadero si algún valor de la subconsulta cumple la condición; de lo contrario, devuelve falso.

Por el bien de este artículo, utilizaremos la base de datos de alquiler de DVD de muestra , que se explica aquí y se puede descargar haciendo clic en este enlace en nuestros ejemplos.

Ejemplo 1:

Aquí consultaremos la duración máxima de una película agrupada por categoría de película de la tabla «película» de nuestra base de datos de muestra.

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

Producción:

Ejemplo 2:
aquí buscaremos las películas cuya categoría sea Acción (category_id = 1) o Drama (category_id = 7) de la tabla de «categoría» de nuestra base de datos de muestra.

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'
    );

Producción:

Publicación traducida automáticamente

Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *