Database
 sql >> Base de Dados >  >> RDS >> Database

Como encontrar registros com NULL em uma coluna

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.