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

IS NOT NULL en SQL: filtra valores existentes

IS NOT NULL permite seleccionar filas donde una columna **sí tiene valor**. Es la contraparte de IS NULL y se usa constantemente para validar datos completos.

1. ¿Qué significa IS NOT NULL?

IS NOT NULL selecciona filas donde una columna **sí contiene un valor**. Es decir, no está vacía, no está sin dato, no es NULL.


SELECT * FROM usuarios
WHERE email IS NOT NULL;
    

2. Ejemplos básicos


SELECT * FROM productos
WHERE descripcion IS NOT NULL;
    

Devuelve productos que sí tienen descripción.

3. Comparaciones incorrectas

Igual que con IS NULL, esto es incorrecto:


-- INCORRECTO
WHERE email != NULL;

-- CORRECTO
WHERE email IS NOT NULL;
    

4. Funciones y NULL

Las funciones ignoran NULL, por lo que IS NOT NULL es útil para asegurar datos completos.


SELECT AVG(salario) FROM empleados
WHERE salario IS NOT NULL;
    

5. Ejemplos prácticos


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

6. Ejercicios para practicar

7. Mini‑proyecto: Filtrar datos completos


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

INSERT INTO empleados VALUES
(1, 'Ana', 'ana@mail.com'),
(2, 'Luis', NULL),
(3, 'Marta', 'marta@mail.com');

SELECT * FROM empleados
WHERE email IS NOT NULL;
    

8. Errores comunes

9. Preguntas frecuentes

¿IS NOT NULL detecta cadenas vacías?

No, '' no es NULL.

¿Las funciones ignoran NULL?

Sí, casi todas las funciones lo ignoran.


Siguiente guía

SQL Intermedio – CASE →