Menu
Coddy logo textTech

COALESCE para valores NULL

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

COALESCE devuelve el primer argumento que no es NULL:

COALESCE(nickname, first_name, 'Anonymous')

Lee de izquierda a derecha y se detiene en el primer valor no nulo. Es la forma más sencilla de proporcionar un valor alternativo en una consulta, sin necesidad de CASE.

Usos comunes:

  • Mostrar 0 en lugar de NULL de un LEFT JOIN: COALESCE(SUM(amount), 0)
  • Elegir el primer campo opcional no vacío: COALESCE(mobile, home, work)
challenge icon

Desafío

Fácil

Tablas y columnas disponibles:

  • users: id, display_name, email
  • orders: user_id, amount

Devuelve una fila por usuario con:

  • id
  • label: display_name si está establecido; si no, email; y, si no, 'unknown'
  • total_spent: suma de los amount de los pedidos del usuario; los usuarios sin pedidos deben mostrar 0 (no NULL)

Ordena por id. Pista: un LEFT JOIN de users a orders, junto con COALESCE(SUM(...), 0), gestiona las filas faltantes.

Pruébalo tú mismo

SELECT u.id,
       -- etiqueta vía COALESCE
       -- total_spent vía COALESCE(SUM(...), 0)
FROM users u
LEFT JOIN orders o ON o.user_id = u.id
GROUP BY u.id
ORDER BY u.id
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