Expressão do caso Postgres

Expressão do caso Postgres
Você precisa usar uma expressão para suas consultas condicionais em uma declaração, que pode ser feita usando instruções IF/ else. Mas o PostgreSQL não suporta declarações se/ else, a alternativa para declarações IF/ else no PostgreSQL é usar as expressões "case". A expressão de "caso" no PostgreSQL permite que você use as instruções IF/ else como uma expressão condicional na qual você pode executar consultas usando "quando" e "então" em cada instrução "caso". A expressão de "caso" também pode ser usada com outras expressões, como: "Selecionar", "ter", "grupo por" e "onde" cláusulas. Neste artigo, estaremos adquirindo conhecimento sobre diferentes formas de declarações de "caso" e demonstrando vários exemplos de declarações de "casos" usando "quando" e "então" casos em exemplos que facilitarão a compreensão.

Formas de expressão de caso:

A expressão de "caso" consiste em duas formas que são:

  1. Declarações de expressão simples de "casos".
  2. Declarações de expressão geral/ pesquisadas de "casos".

Ambas as formas definem uma expressão condicional em uma consulta que examinaremos em outros exemplos neste artigo.

Declarações simples de expressão de "casos" no PostgreSQL:

A primeira forma da declaração "case" Sintaxe BASIC é mencionada abaixo:

Nesta afirmação, a expressão de "caso" executará primeiro e avaliará a 'expressão' e diferenciará os resultados com a cláusula “quando” (expressão1, expressão2, etc.). Se encontrar a partida, a cláusula "quando" será executada.

Se não houver correspondências encontradas, então a cláusula "else" será executada com as 'outras states'. Não é desnecessário incluir a cláusula "else" na consulta, pois é opcional, mas se não houver cláusulas "else" e a partida ainda não for encontrada, o PostgreSQL fornecerá um erro de exceção.

Para executar consultas e incluir expressões condicionais em sua declaração, primeiro precisamos criar uma tabela de amostra para colocar as condições de “caso” no PostgreSQL. Eu gerei uma tabela como exemplo:

Crie Table Passagers_info (
"ID" int chave primária ,
"Nome" Varchar (100) ,
"Email" Varchar (255) exclusivo ,
"Idade" Inteiro ,
"Travel_to" Varchar (255) ,
"Pagamento" Inteiro ,
Data de "Travel_date"
)

Depois de inserir alguns valores na tabela acima, a tabela se parece com o seguinte:

Agora, quando a tabela é criada, vamos mergulhar em alguns exemplos de expressões simples de “case” postgreSql abaixo:

Exemplos simples de expressão de "casos":

Na tabela criada acima, "passageiros_info", usaremos as expressões simples de "caso" nas declarações. No exemplo abaixo, usei a expressão de "caso" para incluir em que era a era dos passageiros; por exemplo, uma pessoa com quem a idade tem 22 'é exibida como' na idade dos anos vinte 'e assim por diante. Abaixo está a demonstração deste exemplo:

Selecione "ID", "Nome",
CASO
Quando "Age" <30 THEN 'In twenties'
Quando "Age" <40 THEN 'In thirties'
Quando "idade"> = 40 então 'meia -idade'
Final Age_era
De "Passagers_info"
Ordem por "id";

Na declaração acima,

  • A cláusula "Selecionar" seleciona as colunas que precisam ser exibidas na saída.
  • Na expressão do "caso", a condição na cláusula "quando" é comparada se houver algum passageiro com idade inferior a 30, coloque -o nos resultados desse passageiro "nos anos vinte" e assim por diante.
  • A cláusula "final" é encerrar a condição e 'Age_era' fornece o nome à coluna na saída. Você pode especificar qualquer outro nome de acordo.
  • A cláusula "de" extrairá os dados da tabela que é mencionada.
  • Por fim, a cláusula "Ordem By" é opcional; É usado para ordenar os resultados em uma ordem crescente com "id".

A declaração acima fornece a seguinte saída na tela:

Como podemos ver, os passageiros de seus vinte anos, trinta ou época de meia-idade são exibidos, respectivamente, com seus IDs e coluna de nome, e o nome da coluna que incluímos na cláusula "final" também é visível.

Expressão simples de "case" com função de soma no PostgreSQL:

Podemos usar funções agregadas como contagem, soma, avg, min, max etc. Funções em nossas declarações também dentro de expressões de "caso". No exemplo abaixo, veremos como você pode usar a função "soma" em declarações de condição de "caso":

Selecione
SOMA
(Caso "Travel_to"
Quando 'Paris' então 1
Else 0
Fim) "Tavelling Paris",
SOMA
(Caso "Travel_to"
Quando 'NewYork' então 1
Else 0
Fim) "Tavingling Newyork",
SOMA
(Caso "Travel_to"
Quando 'Sydney' então 1
Else 0
Fim) "Tavelling Sydney",
SOMA
(Caso "Travel_to"
Quando 'Hogwarts' então 1
Else 0
Final) "Tavingling Hogwarts",
SOMA
(Caso "Travel_to"
Quando 'Maldivas' então 1
Else 0
Final) "Maldivas Tavingling",
SOMA
(Caso "Travel_to"
Quando 'Grécia' então 1
Else 0
Fim) "Tavelling Grécia"
De "passageiros_info";

A sintaxe acima usa a função "soma" para calcular quantos passageiros viajam para uma cidade específica. A saída para a sintaxe a seguir está anexada abaixo:

Este resultado de saída mostra o número de passageiros que viajam para qual cidade.

Declarações de expressão geral/ pesquisadas "case" no PostgreSQL:

A sintaxe a seguir mostra a declaração básica para escrever expressões gerais ou pesquisadas "case" no PostgreSQL:

Nas expressões de “casos” pesquisadas ou gerais, as condições são expressões booleanas e as expressões de “casos” dependem dessas expressões booleanas. A expressão de "caso" avalia cada condição na declaração até que a condição "verdadeira" seja fundada. Se encontrar a verdadeira condição em algum momento, não passa para a próxima expressão e retorna o resultado da verdadeira condição. Se nenhuma condição é verdadeira, ela executa a declaração da cláusula "else" ou retorna nulo se nenhuma condição "mais" for mencionada.

Expressão geral de “caso” com a função da soma no exemplo do PostgreSQL:

Neste exemplo, dividimos e calcularemos os passageiros que viajam para duas classes i.e. Economia e classe executiva usando a função "Sum":

Selecione
SOMA
(CASO
Quando "pagamento" 100000, então 1
Else 0
FIM
) Como "Business_class"
De passageiros_info;

Na declaração acima, usamos a condição de que os passageiros com pagamento de menos de 1 lac viajam para a classe econômica e mais de 1 lac viajarão para a classe executiva. A saída é exibida como:

Conclusão:

Em conclusão, aprendemos neste artigo como usar expressões de "caso" no PostgreSQL. Existem duas formas de expressão de "caso", e ambas podem ser usadas para obter o resultado desejado. Também executamos alguns exemplos usando "caso" com "quando" e "então" cláusulas em declarações para implementar a sintaxe da expressão de "caso" no PostgreSQL.