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;
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;
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;
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.