Blog

Postado em em 10 de novembro de 2023

CASE WHEN no SQL – Estruturas Condicionais no SQL

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!

CASE WHEN no SQL – Estruturas Condicionais no SQL

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.

Estruturas Condicionais no SQL – CASE WHEN SQL

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.

Exemplo CASE WHEN no SQL com Uma Condição

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;
Tabela de exemplo

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:

CASE WHEN no SQL – Estruturas Condicionais no SQL com uma Condição

Repare que ela apresenta as duas colunas que selecionamos, mais a terceira coluna criada a partir da condição que estabelecemos.

Exemplo CASE WHEN no SQL com Mais de Uma Condição

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:

CASE WHEN no SQL – Estruturas Condicionais no SQL com mais de uma Condição

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.

Conclusão – CASE WHEN no SQL – Estruturas Condicionais 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.

Hashtag Treinamentos

Para acessar outras publicações de SQL, clique aqui!


Quer aprender mais sobre SQL com um minicurso básico gratuito?

Quer sair do zero no Python e virar uma referência na sua empresa? Inscreva-se agora mesmo no Python Impressionador