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.