PostgreSQL – CASO

PostgreSQL tiene una expresión condicional llamada CASE para formar consultas condicionales. La expresión CASE de PostgreSQL es la misma que la declaración IF/ELSE en otros lenguajes de programación. PostgreSQL proporciona dos formas de expresiones CASE.

Syntax:
CASE 
      WHEN condition_1  THEN result_1
      WHEN condition_2  THEN result_2
      [WHEN ...]
      [ELSE result_n]
END

Por ejemplo, usaremos la base de datos de muestra (es decir, dvdrental ).

Ejemplo 1:
Aquí trabajaremos sobre la tabla de películas de la base de datos de muestra. Suponga que desea asignar un segmento de precio a una película con la siguiente lógica:

  • Misa si la tasa de alquiler es 0,99
  • Económico si la tarifa de alquiler es 1,99
  • De lujo si la tarifa de alquiler es 4,99

Consultaremos la cantidad de películas en cada segmento utilizando la siguiente declaración:

SELECT
    SUM (
        CASE
        WHEN rental_rate = 0.99 THEN
            1
        ELSE
            0
        END
    ) AS "Mass",
    SUM (
        CASE
        WHEN rental_rate = 2.99 THEN
            1
        ELSE
            0
        END
    ) AS "Economic",
    SUM (
        CASE
        WHEN rental_rate = 4.99 THEN
            1
        ELSE
            0
        END
    ) AS "Luxury"
FROM
    film;

Producción:

Ejemplo 2:
PostgreSQL proporciona otra forma de la expresión CASE llamada forma simple de la siguiente manera:

CASE expression
WHEN value_1 THEN
    result_1
WHEN value_2 THEN
    result_2 
[WHEN ...]
ELSE
    result_n
END;

Podemos reescribir la expresión CASE general usando el CASE simple de la siguiente manera:

SELECT
    SUM (
        CASE rental_rate
        WHEN 0.99 THEN
            1
        ELSE
            0
        END
    ) AS "Mass",
    SUM (
        CASE rental_rate
        WHEN 2.99 THEN
            1
        ELSE
            0
        END
    ) AS "Economic",
    SUM (
        CASE rental_rate
        WHEN 4.99 THEN
            1
        ELSE
            0
        END
    ) AS "Luxury"
FROM
    film;

Salida:
la consulta devuelve el mismo resultado que el primer ejemplo de CASE.

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 *