Coalesce: colocando valor padrão no resultado da query
Já sabemos que quando se trata de SQL, nulo é nulo e vazio é vazio. Nosso sistema permite o campo nulo, então temos alguns nulos no banco:
select nome, empresa from Alunos a;
\> Guilherme, NULL > ... > Ana, Alura
Agora, queria trazer também a empresa(que é um campo opcional). Mas se ela fosse null, gostaria que trouxesse algo mais significativo, como "Não informada". O que quero então é trazer um valor padrão na hora de executar a query:
select nome, coalesce(empresa, "Não informada") from Alunos a;
\> Guilherme, Não informada > ... > Ana, Alura
O coalesce traz o primeiro valor não nulo do que passamos pra ele. Isto é: se a empresa for nula, ele devolve "Não informada". Também podemos usar com números: coalesce(valor, 0).
Dica do Rafael Dipold!