Menu
Coddy logo textTech

CASE WHEN

Parte de la sección Más allá de lo básico del Journey de SQL de Coddy. Lección 1 de 27.

Una expresión CASE es un if/else if/else para SQL. Se encuentra dentro de SELECT (o ORDER BY, o WHERE) y produce un valor por fila.

SELECT name,
       CASE
           WHEN score >= 90 THEN 'A'
           WHEN score >= 75 THEN 'B'
           WHEN score >= 60 THEN 'C'
           ELSE 'F'
       END AS grade
FROM students

Cada WHEN se comprueba de arriba abajo; gana la primera coincidencia. ELSE es opcional. Sin él, las filas que no coincidan reciben NULL.

Termina siempre con END y asigna un nombre a la columna con AS.

challenge icon

Desafío

Fácil

Tablas y columnas disponibles:

  • employees: id, name, department, salary

Para cada empleado, devuelve su name, department y una columna tier construida de la siguiente manera:

  • 'partner' cuando salary >= 150000 (cualquier departamento)
  • 'senior' cuando department = 'eng' y salary >= 100000
  • 'mid' cuando salary >= 60000
  • 'entry' en cualquier otro caso

Ordena por salary en orden descendente. Ten en cuenta que el orden de las ramas WHEN es importante: gana la primera coincidencia.

Pruébalo tú mismo

SELECT name, department,
       -- nivel con múltiples ramas WHEN que mezclan salary y department
FROM employees
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Más allá de lo básico

Practica por tu cuenta: Playground de SQL