Módulo 02 · lección 7

IS NULL: filtrar valores vacíos

Un gestor de contenidos tiene que encontrar los productos sin categoría para completarlos. Una comparación normal = NULL no devuelve nada, por alguna razón.

Por qué = NULL no funciona

NULL significa «el valor es desconocido». Y una comparación con lo desconocido no da true/false, sino «desconocido», de modo que esa fila nunca pasa el filtro. Por eso WHERE category = NULL siempre da un resultado vacío (una trampa clásica de principiante).

IS NULL / IS NOT NULL

Para NULL hay operadores propios:

  • IS NULL — falta el valor;
  • IS NOT NULL — hay valor.
SELECT name 
FROM products
WHERE category IS NOT NULL;   -- solo los productos con categoría

Es la única forma correcta de trabajar con valores vacíos.

Te toca

El gestor de contenidos necesita los productos sin categoría para completarlos. Muestra el name y la category de esos productos.

Resumen

  • Los valores vacíos se detectan con IS NULL / IS NOT NULL, nunca con = NULL.