Estrutura de condição CASE em queries SQL no mySQL
Por mais que a modelagem do nosso sistema esteja “100%”, pode acontecer de você precisar montar uma query SQL que não estava prevista e que os dados não estavam modelados exatamente como tem que sair na consulta, isso geralmente acontece comigo na na hora de construir relatórios. Ou simplesmente é necessário criar uma estrutura condicional dentro da própria cláusula SQL.
Abaixo mostro um exemplo extremamente simples de como é possível criar uma estrutura condicional utilizando CASE na SQL, mais especificamente no mySQL.
Observe o código e delicie-se!
1 2 3 4 5 6 7 8 9 |
SELECT estado, CASE WHEN sigla IN ('PR', 'RS', 'SC') THEN 'Sul' WHEN sigla IN ('SP', 'RJ', 'ES', 'MG') THEN 'Sudeste' WHEN sigla IN ('MT', 'MS', 'GO') THEN 'Centro-Oeste' WHEN sigla IN ('BA', 'AL', 'SE', 'PB', 'PE', 'RN', 'CE', 'PI', 'MA') THEN 'Nordeste' WHEN sigla IN ('AM', 'RR', 'AP', 'PA', 'TO', 'RO', 'AC') THEN 'Norte' ELSE '' END AS regiao FROM enderecos ORDER BY estado; |
Só para esclarecer os que (por acaso) ficaram perdidos, na expressão acima, criamos uma consulta em uma tabela chamada enderecos onde temos os campos estado e sigla porém temos que mostrar também a região do Brasil no qual o estado faz parte.
Criamos então o alias regiao onde, com um simples CASE utilizando o operador IN podemos verificar de uma só vez uma lista de valores, o que simplifica deveras o trabalho!
No fim das contas, teremos disponível também em nossa consulta a informação regiao! Que lindo!!!
Você pode se interessar

Como cortar texto sem usar uma linha de script
Carlos L. A. da Silva - 11 de janeiro de 2021Conheça o poder da propriedade text-overflow no CSS e nunca mais edite strings no braço.

Como começar a programar
Carlos L. A. da Silva - 7 de janeiro de 2021Então, você quer entrar nessa vida? A decisão é sua, mas nós podemos te ajudar com os primeiros passos.

Como cancelar qualquer conta online para sempre
Carlos L. A. da Silva - 30 de dezembro de 2020Que tal fazer uma limpeza nas suas contas inativas ou finalmente largar aquela rede social que só dá desgosto?
One Response
Deixe um Comentário
Mais publicações




Muito obrigado, meu amigo! Ajudou bastante