Expressão MySQL COALESCE
A expressão `COALESCE` no MySQL retorna o primeiro valor não nulo de uma lista de expressões. É comumente usado para tratar valores nulos em consultas SQL, garantindo que um valor padrão seja retornado quando uma coluna especificada for nula.
Uso
A expressão `COALESCE` é usada para fornecer um valor de fallback para entradas nulas em seus dados. Ele avalia seus argumentos em ordem e retorna o primeiro valor não nulo.
COALESCE(expression1, expression2, ..., expressionN)
Nessa sintaxe, cada `expressão` é avaliada em sequência até que seja encontrado um valor não nulo, que é então retornado. Observe que `COALESCE` retornará nulo se todas as expressões forem nulas.
Exemplos
1. Uso básico
SELECT COALESCE(NULL, 'Default Value');
Esse exemplo retorna `'Default Value'' porque o primeiro argumento é nulo e o segundo não.
2. Manipulação de valores nulos em uma tabela
SELECT COALESCE(phone, 'No Phone Number') AS contact_number FROM users;
Neste exemplo, se a coluna `phone` for nula em qualquer linha, será retornado `'No Phone Number'`.
3. Várias colunas e fallbacks
SELECT COALESCE(email, alternate_email, 'No Email Available') AS primary_email FROM contacts;
Aqui, a expressão verifica primeiro o `email`, depois o `alternate_email` e, por fim, assume o padrão `'No Email Available'` se ambos forem nulos.
Dicas e práticas recomendadas
- Use COALESCE para obter os valores padrão. É uma ferramenta poderosa para garantir que suas consultas retornem dados significativos em vez de nulos.
- Ordene as expressões por prioridade. Coloque o valor não nulo mais preferido primeiro para otimizar o desempenho. Lembre-se de que a avaliação de muitas expressões, especialmente em grandes conjuntos de dados, pode afetar o desempenho.
- Limite o número de expressões. Mantenha a lista concisa para evitar avaliações desnecessárias e garantir a manutenção.
- Combine com o reconhecimento do tipo de dados. Certifique-se de que todas as expressões tenham tipos de dados compatíveis para evitar resultados inesperados, pois `COALESCE` retorna o tipo de dados da primeira expressão não nula encontrada.
- Entenda a conformidade com o padrão SQL. O `COALESCE` faz parte do padrão SQL, proporcionando consistência em diferentes sistemas SQL, o que o torna uma opção confiável para ambientes com vários bancos de dados.
- Considere as funções relacionadas. Explore funções relacionadas, como `IFNULL`, para lidar com nulos e ampliar seu conhecimento e suas opções no MySQL.