Consultas · Microlección

COALESCE

Devuelve el primer argumento que no sea NULL y permite definir un valor alternativo en el resultado de una consulta.

Lectura: 9–13 minEjemplo paso a pasoPráctica con pistas

Qué significa

COALESCE evalúa sus argumentos de izquierda a derecha y devuelve el primero que no sea NULL. Si todos son NULL, el resultado también es NULL. Es útil para presentar un valor alternativo, combinar columnas equivalentes o evitar que una operación posterior reciba un valor nulo.

Qué problema resuelve

Un dato ausente no siempre debe mostrarse como una celda vacía. En un listado de clientes puede ser útil indicar “Sin email”, pero ese texto solo cambia el resultado de la consulta: no completa el dato almacenado. COALESCE ayuda a presentar y calcular; no corrige por sí mismo la calidad de los datos.

Apréndelo en contexto: este término se relaciona directamente con Trabajar con valores NULL.

Sintaxis básica

Estructura
COALESCE(valor1, valor2, valor3, ...)

Ejemplo guiado

Datos de ejemplo: algunos clientes no tienen email
idnombreemail
1Anaana@ejemplo.es
3MartaNULL

Lee primero la consulta e intenta predecir el resultado:

SQL
SELECT nombre,
       COALESCE(email, 'Sin email') AS email_visible
FROM clientes
WHERE id IN (1, 3)
ORDER BY id;
Resultado esperado
nombreemail_visible
Anaana@ejemplo.es
MartaSin email

Qué ocurre paso a paso

  1. Para Ana, email contiene un valor, así que COALESCE lo devuelve y deja de evaluar alternativas.
  2. Para Marta, email es NULL y la expresión utiliza el texto Sin email.
  3. El alias email_visible describe la columna calculada.
  4. La tabla original no cambia: el email de Marta sigue siendo NULL.

Error frecuente

Sustituir NULL sin pensar qué significa

Consulta problemática
SELECT COALESCE(fecha_devolucion, CURRENT_DATE) FROM prestamos;

Esta sustitución puede hacer parecer que un libro se devolvió hoy cuando en realidad sigue prestado. El valor alternativo debe representar de forma honesta la ausencia. Para mostrar estado sería más claro utilizar CASE o un texto como “Pendiente de devolución”.

Mini práctica

Básica · apoyo graduado

Aplica el concepto

Muestra nombre y email de todos los clientes. Cuando el email sea NULL, devuelve el texto “No disponible” con el alias contacto.

Compatibilidad y matices

COALESCE forma parte del SQL ampliamente soportado. Los argumentos deben poder resolverse a un tipo compatible; mezclar, por ejemplo, números y textos puede producir conversión, error o un tipo inesperado según el motor. También conviene recordar que sustituir NULL por cero cambia el significado: “sin dato” y “valor igual a cero” no son equivalentes.

Recuerda

  • Devuelve el primer argumento que no sea NULL y permite definir un valor alternativo en el resultado de una consulta.
  • Comprueba siempre los datos de entrada y el resultado esperado.
  • Cuando el comportamiento dependa del motor, consulta su documentación oficial.

Conceptos relacionados

Fuentes técnicas consultadas

Estas fuentes se utilizaron para comprobar la definición y los matices técnicos. El contenido de esta página está redactado de forma original para el aprendizaje.