Fuente. https://medium.com/mlearning-ai/best-known-techniques-for-data-scientist-to-handle-missing-null-values-in-any-tabular-dataset-3a9f71c9486 |
Los valores nulos en las bases de datos relacionales tienen su teoría y su forma de manejo. El libro "Introducción a los Sistemas de Bases de Datos" del autor C.J. Date le dedica todo un capítulo a este tema. En este apartado se aborda la manera en que se comparan los valores de un campo con un valor nulo. |
Para abordar el tema, considerar que se tiene la siguiente tabla:
Se puede observar que la tabla EMPLEADO1 tiene una tupla donde el valor del campo SUELDO es nulo. Por lo tanto, si hacemos el SELECT que nos traiga los empleados que tengan el campo SUELDO nulo, solo debe salir esta tupla (MARIN).
La instrucción SELECT que, intuitivamente, se escribiría para ello es la siguiente:
El resultado del SELECT anterior es una sorpresa para el neofito en el tema. Por qué no se mostró la tupla del empleado MARIN? Por qué no mostró ningún resultado?
Para comparar el valor de un campo con nulo, no se usa el operador = sino la palabra IS, de la siguiente manera:
Entonces es a través de la cláusula IS que hacemos esta comparación.
Por otro lado, la cláusula IS puede ser negada con el fin de traer los empleados cuyo sueldo no sea nulo, y se haría con la cláusula IS NOT de la siguiente manera:
Como conclusión, no se puede comparar un campo con un valor nulo a través de los operadores = y/o !=. Esto se hace con las cláusulas IS y/o IS NOT.
Video: