Saltar al contenido principal

MySQL IS NULL Keyword

La palabra clave IS NULL en MySQL se utiliza para comprobar si una columna contiene un valor NULL. A menudo se emplea en sentencias condicionales para filtrar o identificar filas con datos que faltan.

Utilización

La palabra clave IS NULL se utiliza en las sentencias SELECT, UPDATE o DELETE para comprobar si hay valores NULL en una columna especificada. Ayuda a manejar datos que pueden estar incompletos o faltar.

sql
SELECT column1, column2, ...
FROM table_name
WHERE column_name IS NULL;

En esta sintaxis, column_name IS NULL comprueba si column_name contiene un valor NULL.

Ejemplos

1. Comprobación básica de nulidad

sql
SELECT *
FROM products
WHERE price IS NULL;

Este ejemplo recupera todos los registros de la tabla products en los que la columna price es NULL.

2. Actualizar valores nulos

sql
UPDATE employees
SET department = 'Unassigned'
WHERE department IS NULL;

Aquí, cualquier registro de empleado con un departamento NULO se actualiza a "No asignado".

3. Borrar filas con NULL

sql
DELETE FROM orders
WHERE shipment_date IS NULL;

Este comando elimina todas las entradas de la tabla orders en las que falta la fecha de envío (NULL).

4. Combinar IS NULL e IS NOT NULL

sql
SELECT *
FROM orders
WHERE shipment_date IS NULL OR delivery_date IS NOT NULL;

Este ejemplo selecciona los registros en los que la fecha de envío es NULL o la fecha de entrega no es NULL, ilustrando el uso combinado de IS NULL y IS NOT NULL.

Consejos y buenas prácticas

  • Utiliza IS NULL para la precisión. Utiliza siempre IS NULL en lugar de = NULL para garantizar una comprobación precisa de los valores NULL. Si utilizas = NULL no obtendrás resultados correctos porque, en SQL, NULL representa un valor desconocido y no se puede equiparar.
  • Ten en cuenta la integridad de los datos. Utiliza IS NULL para encontrar y manejar datos incompletos, garantizando la integridad y coherencia de los datos.
  • Combínalo con IS NOT NULL. Empareja IS NULL con IS NOT NULL para gestionar eficazmente los datos que faltan y los que no faltan.
  • Consideración del índice. Recuerda que los valores NULL no están indexados en MySQL, lo que puede provocar escaneos completos de la tabla y afectar al rendimiento de la consulta. Tenlo en cuenta, sobre todo en grandes conjuntos de datos.