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.