Aprenda como utilizar o CASE WHEN no SQL para fazer classificação de informações. Estruturas condicionais no SQL é um assunto simples, mas muito importante!
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
Na aula de hoje, você aprenderá como fazer uma classificação de informações dentro do SQL utilizando a estrutura CASE WHEN no SQL.
Vou te ensinar sobre as estruturas condicionais no SQL, um assunto simples, mas muito importante de ser conhecido e dominado.
Veremos dois exemplos ao longo dessa aula. No primeiro, utilizaremos o CASE WHEN no SQL para fazer uma classificação simples com apenas dois resultados.
Em seguida, veremos casos em que vamos precisar de mais classificações, então podemos utilizar mais de uma estrutura CASE WHEN SQL para fazer essa classificação.
Trabalhar com condições faz parte do nosso dia a dia. A todo momento, estamos avaliando condições para tomar uma determinada ação ou outra.
Por exemplo, imagine que você está planejando sair no final de semana. Se fizer sol, você irá à praia; caso contrário, você irá ao cinema. Esse é um exemplo cotidiano apenas para ilustrar como as condições fazem parte do nosso dia a dia, nesse caso, a condição é fazer sol.
Dentro do SQL, também precisamos trabalhar e lidar com condições. Para esses casos, vamos utilizar as estruturas condicionais CASE WHEN no SQL.
Essas estruturas condicionais serão usadas dentro de uma consulta SELECT. A sintaxe dela funcionará da seguinte forma:
SELECT
coluna1,
coluna2,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN conditionN THEN resultN
ELSE result
END
from tabela;
A estrutura segue este formato padrão, iniciando com CASE e encerrando com END. Entre essas palavras-chave, inserimos as condições utilizando WHEN. Cada condição WHEN é seguida por uma expressão que será avaliada.
Se a expressão for verdadeira, a instrução associada a essa condição será executada. Podemos ter várias condições encadeadas, e a primeira que for verdadeira determinará a ação a ser tomada.
No exemplo acima, quando (WHEN) a condição 1 (condition1) for verdadeira, então (THEN) o SQL retornará o resultado 1 (result1) para essa consulta.
Por fim temos o ELSE no SQL que é o “caso contrário”. Ou seja, se nenhuma das condições for satisfeita o ELSE que será executado.
Vamos ver um exemplo prático de como utilizar as estruturas condicionais para facilitar o entendimento.
Nesse primeiro exemplo, vamos fazer uma consulta utilizando apenas 1 condição dentro da estrutura CASE WHEN no SQL. Você pode usar qualquer banco de dados ou tabela que você tenha disponível para fazer sua consulta.
No meu caso utilizarei esta tabela de produtos:
SELECT * FROM produtos;
Vamos supor que, a partir dessa base de dados, queremos classificar os produtos de acordo com o preço unitário (Preco_Unit). Dividindo-os entre CLASSE A caso o preço unitário seja maior do que 3000 ou, caso contrário, CLASSE B.
Em uma estrutura CASE WHEN no SQL essa condição pode ser escrita da seguinte forma:
SELECT
Nome_Produto,
Preco_Unit,
CASE
WHEN Preco_Unit >= 3000 THEN 'CLASSE A'
ELSE 'CLASSE B'
END AS Classe_Produto
FROM produtos;
Estamos selecionando da tabela produtos as colunas Nome_Produto e Preco_Unit e comparando o valor atribuído ao preço unitário. Quando o preço unitário for maior do que 3000, o produto é classificado como CLASSE A; caso contrário, como CLASSE B.
Ao final, criamos um alias, um nome para a coluna que será gerada com o resultado das condições que estamos analisando, nesse caso, Classe_Produto.
Executando esse código, teremos como resultado a tabela abaixo:
Repare que ela apresenta as duas colunas que selecionamos, mais a terceira coluna criada a partir da condição que estabelecemos.
Vamos considerar um cenário agora em que queremos classificar os produtos em 3 classes diferentes. Classe A quando o preço unitário for maior do que 3000, Classe B quando o preço estiver entre 1000 e 3000 e Classe C quando o preço for menor do que 1000.
Utilizando CASE WHEN SQL nosso código ficará assim:
SELECT
Nome_Produto,
Preco_Unit,
CASE
WHEN Preco_Unit >= 3000 THEN 'CLASSE A'
WHEN Preco_Unit >= 1000 THEN 'CLASSE B'
ELSE 'CLASSE C'
END AS Classe_Produto
FROM produtos;
Como resultado desse código teremos a seguinte tabela:
Importante se atentar para o fato de que a avaliação das condições é feita de cima para baixo. Logo, quando uma é satisfeita, as condições abaixo são ignoradas. Por isso, os produtos acima de 3000, que por consequência também são acima de 1000, aparecem apenas como Classe A.
Uma dica para saber quantas estruturas condicionais no SQL você precisará criar é verificar o número de classificações que você deseja fazer menos 1. Nesse caso, tínhamos 3 condições, logo precisamos criar 2 CASE WHEN no SQL.
Nesta aula, você aprendeu a realizar classificações de informações no SQL através da estrutura CASE WHEN.
Exploramos o funcionamento das estruturas condicionais no SQL e como aplicá-las para categorizar dados com uma ou mais condições a serem analisadas.
Para acessar outras publicações de SQL, clique aqui!
Expert em conteúdos da Hashtag Treinamentos. Auxilia na criação de conteúdos de variados temas voltados para aqueles que acompanham nossos canais.