IOKELU
Nivel: Intermedio
💡 Prueba las consultas:
Puedes ejecutar cualquier consulta SQL en nuestra consola interactiva: Abrir consola SQL →

IS NULL en SQL: detectar valores vacíos correctamente

En SQL, un valor NULL representa “sin dato”. La condición IS NULL permite detectar estos valores vacíos, y es esencial para limpieza de datos, validaciones y reportes.

1. ¿Qué es NULL?

NULL significa “sin valor”. No es cero, no es una cadena vacía, no es falso: es simplemente ausencia de dato.


INSERT INTO usuarios (id, nombre, ciudad)
VALUES (1, 'Ana', NULL);
    

2. IS NULL


SELECT * FROM usuarios
WHERE ciudad IS NULL;
    

Devuelve usuarios sin ciudad registrada.

3. IS NOT NULL


SELECT * FROM usuarios
WHERE ciudad IS NOT NULL;
    

4. Comparaciones incorrectas

NULL no puede compararse con = o != Esto NO funciona:


-- INCORRECTO
WHERE ciudad = NULL;

-- CORRECTO
WHERE ciudad IS NULL;
    

5. Funciones con NULL

Las funciones ignoran NULL por defecto:


SELECT AVG(edad) FROM usuarios;
-- Ignora edades NULL
    

6. Ejemplos prácticos


SELECT * FROM productos WHERE descripcion IS NULL;
SELECT * FROM empleados WHERE telefono IS NOT NULL;
SELECT COUNT(*) FROM usuarios WHERE ciudad IS NULL;
SELECT * FROM pedidos WHERE fecha_envio IS NULL;
    

7. Ejercicios para practicar

8. Mini‑proyecto: Detectar datos incompletos


CREATE TABLE clientes (
    id INT PRIMARY KEY,
    nombre VARCHAR(50),
    email VARCHAR(100)
);

INSERT INTO clientes VALUES
(1, 'Ana', NULL),
(2, 'Luis', 'luis@mail.com'),
(3, 'Marta', NULL);

SELECT * FROM clientes
WHERE email IS NULL;
    

9. Errores comunes

10. Preguntas frecuentes

¿NULL es lo mismo que ''?

No, '' es una cadena vacía; NULL es ausencia de dato.

¿Las funciones ignoran NULL?

Sí, casi todas las funciones lo ignoran.


Siguiente guía

SQL Intermedio – IS NOT NULL →