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 .