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