Como configurar e consultar condições com SQL CASE
SQL CASE possibilita a manipulação de bancos de dados por realizar consultas baseadas em condições, exibindo os respectivos resultados. O conceito da condição CASE é semelhante ao da instrução If-then-else.
O que é SQL CASE?
Em muitas linguagens de banco de dados e linguagens de programação, a instrução If-then-else é comum. Ela executa uma ação enquanto uma determinada condição for verdadeira. Quando isso deixa de ser verdadeiro, o programa sai do loop ou executa uma ação alternativa. A SQL (Structured Query Language) adota um princípio semelhante e fornece a instrução SQL CASE. Esta percorre uma lista de condições e retorna um valor específico quando uma condição é atendida. Se nenhuma condição for atendida e não houver uma cláusula ELSE definida, o resultado será NULL.
Hospedagem VPS poderosa e de baixo custo para rodar suas aplicações sob medida, com assistente pessoal e suporte 24 horas.
- Armazenamento 100% SSD
- Pronto em 55 segundos
- Certificado SSL
Sintaxe de SQL CASE
A sintaxe básica do SQL CASE é a seguinte:
Você especifica quais colunas devem ser consideradas com o comando SQL SELECT. Com CASE, você verifica a condição. Se a condição for atendida (ou seja, for verdadeira), o valor do resultado associado será exibido. END AS encerra a estrutura. FROM indica em qual tabela a estrutura deve ser aplicada.
Com a restrição opcional ELSE, a sintaxe fica assim:
Exemplo de SQL CASE
Para ilustrar o funcionamento do SQL CASE, criamos uma tabela simples chamada “Lista de clientes”. Nela, registramos um número de cliente, o nome do cliente, sua localização, a data do pedido, a quantidade de itens pedidos e o valor total pago em reais.
Número do Cliente | Nome | Localização | Data | Itens | Valor Total |
---|---|---|---|---|---|
1427 | Santos | Salvador | 13/01/2024 | 14 | 634 |
1377 | Moreira | Aparecida do Norte | 19/01/2024 | 9 | 220 |
1212 | Garcia | Aparecida do Norte | 03/01/2024 | 15 | 400 |
1431 | Vieira | Recife | 19/01/2024 | 22 | 912 |
1118 | Becker | Poços de Caldas | 01/02/2024 | 10 | 312 |
Agora utilizamos a condição para processar a lista. Para valores totais acima de 400 reais, deve ser exibido um texto específico. O mesmo vale para valores abaixo de 400 reais. A restrição ELSE é usada para pedidos que totalizam exatamente 400 reais. Você já pode ver que várias condições podem ser verificadas em sequência. A sintaxe adequada para nosso exemplo é a seguinte:
A saída correspondente é semelhante a esta:
Número do Cliente | Nome | Localização | Data | Itens | Valor Total | Detalhes da Compra |
---|---|---|---|---|---|---|
1427 | Santos | Salvador | 13/01/2024 | 14 | 634 | O valor da compra é superior a 400 reais |
1377 | Moreira | Aparecida do Norte | 19/01/2024 | 9 | 220 | O valor da compra é inferior a 400 reais |
1212 | Garcia | Aparecida do Norte | 03/01/2024 | 15 | 400 | O valor da compra é exatamente 400 reais |
1431 | Vieira | Recife | 19/01/2024 | 22 | 912 | O valor da compra é superior a 400 reais |
1118 | Becker | Poços de Caldas | 01/02/2024 | 10 | 312 | O valor da compra é inferior a 400 reais |
Combinar SQL CASE com outras instruções
Você também pode consultar as condições dentro de outras instruções. Abaixo, organizamos as entradas por número do cliente. Se este não estiver disponível (ou seja, for NULL), o nome do cliente deve ser considerado. Este é o código correspondente:
A saída é a seguinte:
Número do Cliente | Nome | Localização | Data | Itens | Valor Total |
---|---|---|---|---|---|
1118 | Becker | Poços de Caldas | 2/1/2024 | 10 | 312 |
1212 | Garcia | Aparecida do Norte | 1/3/2024 | 15 | 400 |
1377 | Moreira | Aparecida do Norte | 1/19/2024 | 9 | 220 |
1427 | Santos | Salvador | 1/13/2024 | 14 | 634 |
1431 | Vieira | Recife | 1/19/2024 | 22 | 912 |
Com o SQL Server Hosting da IONOS, você pode escolher entre MSSQL, MySQL ou MariaDB. Beneficie-se de uma performance excepcional, de uma forte arquitetura de segurança e de consultorias personalizadas!