Palavra-chave MySQL IS NULL
A palavra-chave IS NULL
no MySQL é usada para verificar se uma coluna contém um valor NULL. É frequentemente empregado em instruções condicionais para filtrar ou identificar linhas com dados ausentes.
Uso
A palavra-chave IS NULL
é usada nos comandos SELECT
, UPDATE
ou DELETE
para testar se há valores NULL em uma coluna específica. Ele ajuda a lidar com dados que podem estar incompletos ou ausentes.
sql
SELECT column1, column2, ...
FROM table_name
WHERE column_name IS NULL;
Nessa sintaxe, column_name IS NULL
verifica se column_name
contém um valor NULL.
Exemplos
1. Verificação NULL básica
sql
SELECT *
FROM products
WHERE price IS NULL;
Este exemplo recupera todos os registros da tabela products
em que a coluna price
é NULL.
2. Atualização de valores NULL
sql
UPDATE employees
SET department = 'Unassigned'
WHERE department IS NULL;
Aqui, todos os registros de funcionários com um departamento NULL são atualizados para "Unassigned".
3. Exclusão de linhas com NULL
sql
DELETE FROM orders
WHERE shipment_date IS NULL;
Esse comando remove todas as entradas da tabela orders
em que a data de remessa está ausente (NULL).
4. Combinação de IS NULL e IS NOT NULL
sql
SELECT *
FROM orders
WHERE shipment_date IS NULL OR delivery_date IS NOT NULL;
Esse exemplo seleciona registros em que a data de remessa é NULL ou a data de entrega não é NULL, ilustrando o uso combinado de IS NULL
e IS NOT NULL
.
Dicas e práticas recomendadas
- Use IS NULL para obter precisão. Sempre use
IS NULL
em vez de= NULL
para garantir a verificação precisa de valores NULL. O uso do endereço= NULL
não produzirá resultados corretos porque, no SQL, NULL representa um valor desconhecido e não pode ser igualado. - Considere a integridade dos dados. Use o site
IS NULL
para localizar e tratar dados incompletos, garantindo a integridade e a consistência dos dados. - Combine com IS NOT NULL. Emparelhe
IS NULL
comIS NOT NULL
para gerenciar dados ausentes e não ausentes de forma eficaz. - Consideração de índice. Lembre-se de que os valores NULL não são indexados no MySQL, o que pode levar a varreduras completas da tabela e afetar o desempenho da consulta. Fique atento a isso, especialmente em grandes conjuntos de dados.