DÍA 21Análisis de resultados · SQL para Análisis de Datos

Representa valores nulos sin confundir ausencia con cero ni alterar la fuente.

Día 21 17 minIntermedio

Presentar valores ausentes con COALESCE

Objetivos

Al terminar podrás elegir una representación visible para un valor nulo sin cambiar la tabla de origen.

Concepto

COALESCE(a, b) devuelve el primer argumento que no es NULL. En una lista, evalúa los argumentos de izquierda a derecha. Puede ayudar a presentar una etiqueta, pero esa etiqueta no demuestra por qué faltaba el dato.

No reemplaces automáticamente un valor ausente por cero. Cero es un valor; NULL indica que no hay un valor registrado. En esta consulta se convierte el identificador opcional a texto solo para mostrarlo claramente.

Ejemplo

SELECT
  payment_id,
  COALESCE(CAST(rental_id AS CHAR), 'sin rental_id registrado') AS rental_reference
FROM payment
ORDER BY payment_id
LIMIT 12;

La columna original sigue intacta. El texto sustituye NULL únicamente en esta salida y no afirma la causa de la ausencia.

Práctica guiada

  1. Quita CAST y observa por qué una lista de argumentos de tipos distintos puede ser difícil de interpretar.
  2. Compara COALESCE(rental_id, 0) con IS NULL; explica por qué el cero puede inducir a error.
  3. Cuenta cuántos pagos tienen rental_id IS NULL sin mostrar otras columnas.

Reto

Construye una etiqueta que muestre el identificador real del alquiler como texto o sin dato. No cambies el esquema y añade una nota breve sobre lo que el valor ausente no permite concluir.

Quiz

¿Qué devuelve COALESCE(rental_id, 'sin dato') cuando rental_id es NULL?

  • A. La etiqueta sin dato para esa salida.
  • B. El número cero guardado en la tabla.
  • C. Elimina la fila del resultado.

Respuesta: A. COALESCE elige el primer argumento no nulo disponible.

Comprobación

Ya distingues una representación de salida de un cambio en los datos. La próxima lección usa funciones de texto para crear etiquetas de presentación.

TU PROGRESO

Cargando estado…