Problema:
Você deseja localizar registros com NULL em uma coluna.
Exemplo:
Nosso banco de dados tem uma tabela chamada
children
com dados em quatro colunas:id
, first_name
, middle_name
e last_name
. id | first_name | nome_meio | last_name |
---|---|---|---|
1 | João | Carl | Jackson |
2 | Tom | NULO | Thomson |
3 | Lisa | Alice | NULO |
4 | Ana | NULO | Smith |
Vamos encontrar o id, primeiro nome e sobrenome dos filhos sem nome do meio (NULL na coluna
middle_name
). Usamos o operador IS NULL para isso. Solução:
SELECT id, first_name, last_name FROM children WHERE middle_name IS NULL;
Aqui está o resultado:
id | first_name | last_name |
---|---|---|
2 | Tom | Thomson |
4 | Ana | Smith |
Isso retorna apenas registros com NULL em
middle_name
, então Tom e Anne estão presentes, mas não John e Lisa, que têm nomes do meio. Discussão:
Use o
IS NULL
operador em uma condição com WHERE para localizar registros com NULL em uma coluna. Claro, você também pode usar qualquer expressão em vez do nome de uma coluna e verificar se ela retorna NULL. Nada mais do que o nome de uma coluna e o operador IS NULL são necessários (no nosso exemplo, middle_name IS NULL
). Coloque esta condição na cláusula WHERE para filtrar linhas (no nosso exemplo, WHERE middle_name IS NULL
). Se a condição for verdadeira, a coluna armazena um NULL e essa linha é retornada. Acima, a consulta retorna apenas dois registros com filhos Tom e Anne, que não possuem nomes do meio, então a coluna middle_name
armazena NULL.