Cómo usar la cláusula CASE en la cláusula WHERE

Este Shot 🍸🤖 te será de mucha ayuda cuando estés tratando de hacer varias condiciones dentro del WHERE en SQL.

En este truco Oracle/SQL aprenderás cómo usar la cláusula CASE en la cláusula WHERE para realizar comparaciones condicionales. Este truco es muy útil cuando necesitas comparar valores y devolver resultados diferentes según el resultado de la comparación, pero solo para los registros que cumplen una condición específica.

consulta sql sentencia case en where


En este ejemplo podemos ver la utilidad de la cláusula CASE en la cláusula WHERE para filtrar los resultados de una consulta de forma más compleja y sofisticada, utilizando un parámetro dado por el usuario.

En este caso, la consulta busca los productos y para cada categoría hay una condición de precios especificada, por lo que revisaremos qué categoría escoge el usuario y hacemos las condiciones establecias para esa.

SELECT id, nombre, precio, categoría FROM productos WHERE CASE WHEN variable_categoria = 'Cocina' AND precio BETWEEN 10 AND 100 THEN 1 WHEN variable_categoria = 'Electrónica' AND precio BETWEEN 20 AND 80 THEN 1 ELSE 0 END = 1;

La cláusula CASE se utiliza para evaluar estas condiciones y devolver un valor de 1 si la condición se cumple, o un valor de 0 si no se cumple.

Si el usuario escoge 'Cocina' se buscará aquellos de esa categoría que tendan precio entre 10 y 100; pero si escoge 'Electrónica' buscará en esa categoría los que tengan precio entre 20 y 80.

Aunque es una opción muy util, también puede dificultad la lectura del código de las consultas, así que usa las bueas practicas para tener tu codigo limpio y ordenado.

La cláusula CASE en la cláusula WHERE es una herramienta muy potente que puede utilizarse para filtrar los resultados de una consulta de forma compleja y sofisticada. Utilizando la cláusula CASE, puedes realizar consultas que no serían posibles utilizando operadores lógicos en la cláusula WHERE.

Comentarios

Populares

Manejo de templates/plantillas en Django

Cómo Crear un Proyecto en Django

Crear aplicaciones para proyecto de Django