Saltar al contenido
Inicio » Uso de CASE en SQL: Manejo de Condiciones en una Consulta SELECT

Uso de CASE en SQL: Manejo de Condiciones en una Consulta SELECT

En SQL, la cláusula CASE es una herramienta poderosa para manejar condiciones dentro de una consulta. Nos permite evaluar expresiones y devolver diferentes resultados según los criterios establecidos.

Uno de los usos más comunes de CASE es en una consulta SELECT, donde podemos modificar la salida de los datos según ciertas condiciones. También podemos definir un valor por defecto cuando ninguna condición se cumple.


Ejemplo: Evaluando el Estado de un Pedido

Imaginemos una tabla llamada Pedidos, que almacena información sobre compras en una tienda:

id_pedidoclientetotalestado
1Juan500Enviado
2María120Pendiente
3Carlos50Cancelado
4Laura800Enviado
Tabla de ejmplo

Queremos crear una consulta que muestre el estado del pedido de una manera más clara:

  • Si el pedido ha sido “Enviado”, se mostrará “Pedido Entregado”.
  • Si el pedido está “Pendiente”, se mostrará “Procesando Pedido”.
  • Si el pedido fue “Cancelado”, se mostrará “Pedido Anulado”.
  • Si el estado no coincide con ninguna de estas opciones, se mostrará un mensaje por defecto: “No cumple con el criterio”.

Consulta SQL con CASE

sqlCopiarEditarSELECT 
    id_pedido, 
    cliente, 
    total, 
    estado,
    CASE 
        WHEN estado = 'Enviado' THEN 'Pedido Entregado'
        WHEN estado = 'Pendiente' THEN 'Procesando Pedido'
        WHEN estado = 'Cancelado' THEN 'Pedido Anulado'
        ELSE 'No cumple con el criterio'
    END AS estado_final
FROM Pedidos;

Explicación de la Consulta

  1. Seleccionamos los datos de la tabla Pedidos.
  2. La columna estado se evalúa con CASE:
    • Si el estado es 'Enviado', se mostrará 'Pedido Entregado'.
    • Si es 'Pendiente', se mostrará 'Procesando Pedido'.
    • Si es 'Cancelado', se mostrará 'Pedido Anulado'.
    • Si el estado no coincide con ninguna opción, se asigna 'No cumple con el criterio'.

Resultado Esperado

id_pedidoclientetotalestadoestado_final
1Juan500EnviadoPedido Entregado
2María120PendienteProcesando Pedido
3Carlos50CanceladoPedido Anulado
4Laura800EnviadoPedido Entregado
Resultado esperado

Si en la tabla existiera un nuevo estado no definido en el CASE, se mostraría 'No cumple con el criterio'.

Conclusión

El uso de CASE en SQL es ideal para transformar datos de manera dinámica sin modificar la estructura de la base de datos. Nos permite personalizar la salida de una consulta y mejorar la legibilidad de los resultados. 🚀

📌 ¿Usas CASE en tus consultas SQL? Cuéntanos en los comentarios cómo lo aplicas en tu día a día.

Deja un comentario

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