Problema:
Você deseja localizar registros sem um NULL em uma coluna.
Exemplo:
Nosso banco de dados tem uma tabela chamada
product
com dados em três colunas:id
, name
, e price
. id | nome | preço |
---|---|---|
1 | manteiga | NULO |
2 | leite | 2,35 |
3 | pão | 3,25 |
4 | queijo | NULO |
Vamos encontrar os nomes e preços dos produtos que têm um preço (sem NULL). Faça isso usando o operador IS NOT NULL.
Solução:
SELECT name, price FROM product WHERE price IS NOT NULL;
Segue o resultado da consulta:
nome | preço |
---|---|
leite | 2,35 |
pão | 3,25 |
Isso retorna apenas registros sem NULL na coluna, portanto, apenas os nomes e preços do leite e do pão estão presentes. Manteiga e queijo não têm preços (a coluna
price
é NULL) para que você não os veja. Discussão:
Para exibir registros sem NULL em uma coluna, use o operador IS NOT NULL. Você só precisa do nome da coluna (ou uma expressão) e o operador IS NOT NULL (no nosso exemplo, o
price IS NOT NULL
). Coloque esta condição na cláusula WHERE (no nosso exemplo, WHERE price IS NOT NULL
), que filtra as linhas. Se a condição for verdadeira, denota que a coluna não armazena um NULL. A linha é retornada se tiver um valor nesta coluna (a coluna não é NULL). De cima, a consulta retorna apenas dois produtos, leite e pão, pois possuem valores em
price
.