Como faço para adicionar um caso a uma consulta MySQL?

Como faço para adicionar um caso a uma consulta MySQL?
No MySQL, a declaração do caso descreve as maneiras de lidar com um loop para executar um certo conjunto de condições e devolver o caso correspondente usando if-else. É uma declaração de controle que valida um conjunto de condições. Se houver algum caso encontrado, ele retornará o valor. Se nenhum caso corresponde, ele retornará o valor de eliminação. Se nenhum valor mais foi definido, ele retornará nulo.

Este guia mergulhará na declaração do caso em MySQL.

A declaração do caso em mysql

Se você tem experiência de programação anterior em qualquer uma das linguagens de programação populares, a declaração do caso é definitivamente um tópico familiar. A estrutura é a seguinte.

CASO
ENTÃO QUANDO
ENTÃO QUANDO
OUTRO
FIM

Vamos ter um rápido colapso de cada uma das partes.

  • : As condições necessárias para avaliar a declaração do caso.
  • : O resultado da respectiva correspondência de caso.
  • : O resultado quando nenhum caso correspondente foi encontrado. Se não for definido, o caso retorna NULO.

Se você olhar de perto, a estrutura é quase exatamente o que você encontraria em uma estrutura lógica típica de java if-else.

Usando a declaração do caso

Uso básico
Para demonstrar a aplicação do caso, usaremos um banco de dados MySQL dedicado. Para facilitar o uso, usarei o PhpMyadmin para acessar e gerenciar bancos de dados. Saiba mais sobre a instalação e a configuração de phpmyadmin e mysql no Ubuntu.

Eu criei um banco de dados vazio Olá Mundo.

Nosso banco de dados de amostra conterá informações sobre os alunos. Crie uma nova tabela chamada Alunos.

$ CREATE TABLE ADUNDES (ID INT, NOME VARCHAR (255), Estado Varchar (255), City Varchar (255));

Agora, insira alguma entrada de amostra na tabela.

$ Inserir em estudantes (id, nome, estado, cidade) valores ('1', 'adrien', 'Arizona', 'Prescott');
$ Inserir em estudantes (id, nome, estado, cidade) valores ('2', 'Alisha', 'Nebraska', 'Omaha');
$ Inserir em estudantes (ID, nome, estado, cidade) valores ('3', 'Brenda', 'Michigan', 'Detroit');
$ Inserir em estudantes (id, nome, estado, cidade) valores ('4', 'Thompson', 'Nova York' ");
$ Inserir em estudantes (id, nome, estado, cidade) valores ('5', 'David', ", 'Portland');

A tabela final deve ficar assim.

Dê uma olhada na seguinte consulta e em sua saída.

Selecione o nome, estado, cidade dos estudantes, encomendar por (
CASO
Quando o estado é nulo, então cidade
Caso contrário, estado
FIM);

Usando a declaração de caso com função agregada
No próximo exemplo, criaremos uma nova tabela de banco de dados contendo informações de vendas. A partir dessas informações, descobriremos a contagem de ordens pelo status do pedido. Para fazer isso, também usaremos a função SUM () em MySQL. O guia seguinte mergulha profundamente na função Sum () em MySQL.

Crie uma nova tabela Ordens.

$ Crie pedidos de tabela (order_id int, sales_id int, status varchar (255));

Vamos preencher a tabela com alguns dados de amostra.

$ Inserir em pedidos (order_id, sales_id, status) valores ('5', '10', 'processamento');
$ Inserir em pedidos (order_id, sales_id, status) valores ('8', '244', 'sucesso');
$ Inserir em pedidos (order_id, sales_id, status) valores ('4', '274', 'processamento');
$ Inserir em pedidos (order_id, sales_id, status) valores ('80', '452', 'sucesso');
$ Inserir em pedidos (order_id, sales_id, status) valores ('10', '10000', 'processamento');

O código a seguir contará as instâncias de sucesso e em processamento.

Selecione
Soma (caso
Quando status = 'sucesso' então 1
Else 0
Fim) como 'contagem de sucesso',
Soma (caso
Quando Status = 'Processamento' então 1
Else 0
Fim) como 'processamento',
Contagem (*) como 'soma total'
De ordens;

Como mostra a saída, mostra uma soma de todas as ordens de acordo com seu status. Primeiro, as declarações do caso são executadas e retornam 1 cada vez que combina com o respectivo status do pedido. Finalmente, a função SUM () calcula o número total de pedidos.

Pensamento final

Neste guia, exploramos o uso da declaração do caso em MySQL. Em resumo, é uma declaração lógica que permite executar a lógica if-else nas consultas SQL de maneira eficiente. Mostramos como implementá -lo em várias situações. Comparado ao uso de várias declarações if-else, o caso torna o código mais legível e eficiente.

MySQL é rico em recursos poderosos. Para saber mais, confira os seguintes guias sobre o esquema, a função datediff (), trabalhando com substring, etc.

Computação feliz!