IS NULL e IS NOT NULL en SQL

IS NULL e IS NOT NULL en SQL

Los operadores IS NULL e IS NOT NULL de SQL te permiten filtrar y realizar acciones específicas en función de la presencia o ausencia de valores NULL en las columnas de la tabla.

Un valor nulo en SQL representa la ausencia de un valor en un dato específico de una tabla. Por ejemplo, supongamos que tenemos una tabla llena de usuarios. Todos con su nombre y apellidos, pero en la dirección se admiten valores nulos. Pues bien, todos los datos del campo dirección que no se hayan rellenado, quedarán como "null" (nulos).

Esto nos puede venir muy bien para establecer filtros en aplicaciones. Imagina que tienes una app con gestión de usuarios y quieres añadir una funcionalidad que agrupe los usuarios que no han completado cierta información. Pues con esto podrías. Es una pequeña idea de muchas otras que se pueden llevar a cabo.


Por cierto, siempre que quieras evitar que un campo se pueda dejar vacío, podrás especificar en la creación de las tablas que no se permitan valores nulos. Pero esto lo veremos en otro módulo del curso.

El operador IS NULL de SQL

Con el operador IS NULL, se puede filtrar por valores nulos con un simple WHERE.

SELECT Name, Continent, IndepYear
FROM country
WHERE IndepYear IS NULL;
operador IS NULL de SQL

Con esto, he encontrado todos los países que no tiene valores en el campo "IndepYear" (año de independencia).

El operador IS NOT NULL de SQL

Ahora, si quiero buscar todo lo contrario, los países con año de independencia y descartar todos los que tengan valores nulos, lo puedo hacer fácilmente con el operador IS NOT NULL de SQL.


SELECT Name, Continent, IndepYear
FROM country
WHERE IndepYear IS NOT NULL;
IS NOT NULL SQL

Usando los operadores para expresiones más complejas

Estos dos operadores se pueden usar en combinación con otras expresiones, como esta:

SELECT Name, Continent, IndepYear
FROM country
WHERE IndepYear IS NOT NULL 
AND Continent = "Asia"
AND Name LIKE "%an"
AND IndepYear > 1900;
Operadores SQL Null

En esta consulta, se pide filtrar por países que no tengan un valor NULL en el campo "IndepYear", que sean asiáticos, que sus nombres acaben en "an" y que el año de independencia sea superior a 1900.

Todo esto ya lo hemos dado en el curso, de modo que si no recuerdas algo, te recomiendo que vuelvas atrás.

Dejamos este capítulo aquí. Seguimos con más cosas de las consultas en el siguiente.

No te pierdas nada del curso Máster en SQL.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

curso sql Entrada anterior Los patrones de búsqueda con IN en SQL
curso sql Entrada siguiente DISTINCT de SQL para resultados distintos