Lección 8 de SQL: Una breve nota sobre los valores NULL

Como prometimos en la última lección, vamos a hablar rápidamente sobre los valores NULL en una base de datos SQL. Siempre es bueno reducir la posibilidad de que haya valores NULL en las bases de datos porque requieren una atención especial al crear consultas, restricciones (ciertas funciones se comportan de manera diferente con valores nulos) y al procesar los resultados.

Una alternativa a los valores NULL en su base de datos es tener valores predeterminados apropiados para el tipo de datos, como 0 para datos numéricos, cadenas vacías para datos de texto, etc. Pero si su base de datos necesita almacenar datos incompletos, entonces los valores NULL pueden ser apropiados si los valores predeterminados sesgarán el análisis posterior (por ejemplo, al tomar promedios de datos numéricos).

A veces, tampoco es posible evitar valores NULL, como vimos en la última lección al realizar uniones externas entre dos tablas con datos asimétricos. En estos casos, puede probar una columna NULL para ver si contiene valores en una cláusula WHERE utilizando la restricción IS NULL o IS NOT NULL.

  • Consulta de selección con restricciones sobre valores NULL
SELECT column, another_column, …
FROM mytable
WHERE column IS/IS NOT NULL
AND/OR another_condition
AND/OR …;

Ejercicio

  1. Encuentre el nombre y el rol de todos los empleados que no han sido asignados a un edificio.
  2. Encuentra los nombres de los edificios que no tienen empleados.

Este ejercicio será una especie de repaso de las lecciones anteriores. Usaremos la misma tabla de empleados y edificios de la lección anterior, pero contrataremos a algunas personas más, a quienes todavía no se les ha asignado un edificio.