DevPath · Aprenda a programar ESPTEN

Conjuntos e funções

Trabalhar com NULL

O que é NULL?

NULL representa a ausência de valor: "desconhecido" ou "não se aplica". Não é zero nem uma string vazia. Qualquer operação aritmética com NULL resulta em NULL (preco + 10 é NULL se preco for NULL).

Lógica de três valores

No SQL uma condição pode ser verdadeira, falsa ou desconhecida. Como NULL é "desconhecido", comparar com ele nunca dá verdadeiro:

SELECT * FROM produtos WHERE preco = NULL;   -- ❌ não retorna nada

Mesmo que preco seja NULL, NULL = NULL é desconhecido, não verdadeiro. Por isso existem operadores específicos:

SELECT * FROM produtos WHERE preco IS NULL;       -- preços desconhecidos
SELECT * FROM produtos WHERE preco IS NOT NULL;   -- preços conhecidos

Funções para tratar NULL

Exemplos

Substituir NULL por 0 com COALESCE

SELECT nome, COALESCE(preco, 0) AS preco_final
FROM produtos
ORDER BY id;
Coloque isto em prática

O DevPath é um curso prático: aqui você lê a teoria; no app você a coloca em prática com exercícios que rodam de verdade, offline.

Comece grátis no app →
← Operações de conjuntosFunções escalares e de agregação →