Capítulo 11. Lógica condicional
Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com
Em certas situações, podes querer que a tua lógica SQL se ramifique numa direção ou noutra, dependendo dos valores de certas colunas ou expressões. Este capítulo se concentra em como escrever instruções que podem se comportar de maneira diferente, dependendo dos dados encontrados durante a execução da instrução. O mecanismo usado para a lógica condicional em instruções SQL é a expressão case, que pode ser utilizada nas instruções select, insert, update e delete.
O que é a lógica condicional?
A lógica condicional é simplesmente a capacidade de seguir um de vários caminhos durante a execução do programa. Por exemplo, ao consultar informações de clientes, podes querer incluir a coluna customer.active, que armazena 1 para indicar ativo e 0 para indicar inativo. Se os resultados da consulta forem usados para gerar um relatório, podes querer traduzir o valor para melhorar a legibilidade. Embora todas as bases de dados incluam funções incorporadas para este tipo de situações, não existem padrões, pelo que terias de te lembrar que funções são utilizadas por cada base de dados. Felizmente, a implementação SQL de cada base de dados inclui a expressão case, que é útil em muitas situações, incluindo traduções simples:
mysql> SELECT first_name, last_name, -> CASE -> WHEN active = 1 THEN 'ACTIVE' -> ELSE 'INACTIVE' ...