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 NULLen lugar de= NULLpara garantizar una comprobación precisa de los valores NULL. Si utilizas= NULLno 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 NULLpara encontrar y manejar datos incompletos, garantizando la integridad y coherencia de los datos. - Combínalo con IS NOT NULL. Empareja
IS NULLconIS NOT NULLpara 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.