Lesión 1.5 · Tiempo de lectura: ~7 min
NULL es el marcador especial que utilizan las bases de datos relacionales cuando un valor está ausente, es desconocido o no aplicable. En esta lección, aprenderás qué significa realmente NULL, cómo se diferencia de los valores ordinarios y cómo trabajar con él de manera segura en comparaciones y consultas simples.
Valores NULL en Bases de Datos Relacionales: Significado, IS NULL y Lógica
En las lecciones anteriores, analizamos conceptos relacionales y tipos de datos. Ahora necesitamos entender qué sucede cuando una columna no contiene un valor significativo en absoluto.

¿Qué Significa NULL en una Base de Datos Relacional?
NULL no significa un valor almacenado normal. Es un marcador especial que le indica a la base de datos que el valor está ausente, es desconocido o no aplicable.
Esto es importante porque NULL no se comporta como texto, números o valores booleanos. Sigue sus propias reglas en comparaciones, filtrado y cálculos.
¿Qué NO es NULL?
Para evitar confusiones, recuerda lo que NULL no es:
- NULL no es 0: cero es un valor numérico real.
- NULL no es una cadena vacía:
''sigue siendo texto, incluso si no contiene caracteres. - NULL no es falso: en la lógica de bases de datos, NULL generalmente significa desconocido, no verdadero o falso.
¿Por Qué Usan NULL las Bases de Datos?
Las bases de datos utilizan NULL cuando un valor no puede ser completado normalmente.
Casos típicos:
- Información desconocida: el segundo nombre de un cliente puede no ser conocido aún.
- No aplicable: un ID fiscal de una empresa no se aplica a un individuo privado.
- Datos faltantes: se puede haber omitido alguna información durante la entrada de datos.
¿Cómo Funcionan IS NULL y IS NOT NULL?
Debido a que NULL representa un estado desconocido, los operadores de comparación estándar como = y <> no funcionan correctamente con él.
Por ejemplo, value = NULL no devuelve verdadero. Para verificar NULL correctamente, utiliza operadores especiales.
IS NULL
Usa IS NULL para encontrar filas donde una columna no tiene valor:
SELECT *
FROM address
WHERE address2 IS NULL;
IS NOT NULL
Usa IS NOT NULL para encontrar filas donde una columna contiene algún valor:
SELECT *
FROM address
WHERE address2 IS NOT NULL;
¿Cómo Se Comporta NULL en Cálculos y Lógica?
Una de las reglas más importantes es que NULL a menudo se propaga. Si utilizas NULL en un cálculo, el resultado generalmente también es NULL.
10 + NULL = NULL5 * NULL = NULL'Hola ' + NULL = NULL
La misma idea afecta a las comparaciones. Dado que NULL significa "desconocido", muchas expresiones que involucran NULL también devuelven un resultado desconocido en lugar de verdadero o falso.
Conclusiones clave de esta lección:
NULLrepresenta datos faltantes, desconocidos o no aplicables.NULLes diferente de cero, cadenas vacías y falso booleano.- Las comparaciones estándar como
=y<>no funcionan correctamente con NULL. - Usa
IS NULLyIS NOT NULLal filtrar valores NULL. - Los cálculos que involucran NULL a menudo devuelven NULL como resultado.
Preguntas Frecuentes
¿Es NULL lo mismo que una cadena vacía?
No. Una cadena vacía sigue siendo un valor de texto con cero caracteres. NULL significa que no hay un valor conocido almacenado.
¿Por qué value = NULL no funciona?
Porque NULL significa "desconocido", y los operadores de comparación estándar no están diseñados para probar ese estado. Usa IS NULL en su lugar.
¿Puede NULL aparecer en columnas numéricas?
Sí. NULL no está ligado a un tipo de dato específico. Una columna numérica, una columna de texto o una columna de fecha pueden contener NULL a menos que una restricción lo prohíba.
Preguntas de Entrevista
¿Cómo explicarías NULL en una entrevista sobre bases de datos?
NULL es un marcador especial que representa datos faltantes, desconocidos o no aplicables. No es lo mismo que cero, falso o una cadena vacía, y sigue reglas especiales en comparaciones y cálculos.
¿Por qué las consultas SQL utilizan IS NULL en lugar de = NULL?
Porque NULL representa un estado desconocido. Los operadores estándar como = y <> no evalúan NULL de la misma manera que evalúan valores ordinarios, por lo que SQL proporciona IS NULL e IS NOT NULL para verificaciones correctas.
¿Cuál es un error común al trabajar con NULL?
Un error común es tratar NULL como un valor ordinario en comparaciones o aritmética. Esto puede producir resultados inesperados en filtros, condiciones y campos calculados.
En la próxima lección, introduciremos SQL en sí y analizaremos la estructura básica de una consulta.