Espressione del caso di Postgres

Espressione del caso di Postgres
È necessario utilizzare un'espressione per le tue query condizionali in un'istruzione, che può essere eseguita utilizzando le istruzioni If/ Else. Ma PostgreSQL non supporta le dichiarazioni If/ Else, l'alternativa per le dichiarazioni If/ Else in PostgreSQL deve utilizzare le espressioni "caso". L'espressione "caso" in PostgreSQL consente di utilizzare le istruzioni If/ Else come espressione condizionale in cui è possibile eseguire query usando "quando" e "allora" in ogni istruzione "caso". L'espressione del "caso" può essere usata anche con altre espressioni, come: "selezionare", "avere", "gruppo per" e "dove" clausole. In questo articolo, acquisiremo conoscenza su diverse forme di dichiarazioni "caso" e dimostrare vari esempi di dichiarazioni "caso" usando casi "quando" e "allora" in esempi che renderanno molto più facile comprendere.

Forme di espressione del caso:

L'espressione del "caso" è costituita da due forme che sono:

  1. Semplici dichiarazioni di espressione "caso".
  2. Dichiarazioni di espressione "Caso" Generale/ Cercate.

Entrambe le forme definiscono un'espressione condizionale in una query che esamineremo in ulteriori esempi in questo articolo.

Semplici dichiarazioni di espressione "caso" in PostgreSQL:

La prima forma della sintassi di base dell'istruzione "caso" è menzionata di seguito:

In questa affermazione, l'espressione del "caso" prima eseguirà e valuterà "espressione" e differenderà i risultati con la clausola "quando" (espressioni1, espressione2, ecc.). Se trova la partita, verrà eseguita la clausola "When".

Se non ci sono corrispondenze trovate, allora la clausola "else" verrà eseguita con le "opere else". Non è necessario includere la clausola "else" nella query, in quanto è facoltativo, ma se non ci sono clausole "else" e la corrispondenza non è ancora trovata, Postgresql darà un errore di eccezione.

Per eseguire query e includere espressioni condizionali nella tua dichiarazione dobbiamo prima creare una tabella di esempio per mettere le condizioni "caso" su PostgreSQL. Ho generato una tabella come esempio:

Crea table Passengers_info (
"Id" Int Key primario ,
"Nome" Varchar (100) ,
"Email" Varchar (255) unico ,
Intero "Age" ,
"Travel_to" Varchar (255) ,
Intero "Pagamento" ,
Data "Travel_date"
)

Dopo aver inserito alcuni valori nella tabella sopra, la tabella assomiglia a questa:

Ora, quando viene creata la tabella, immergiamoti in alcuni esempi per semplici espressioni di "caso" postgresql di seguito:

Semplici esempi di espressione "caso":

Nella tabella creata sopra, "PASSEGGERS_INFO", useremo le semplici espressioni "caso" nelle dichiarazioni. Nell'esempio seguente, ho usato l'espressione del "caso" per includere in quale era di età in cui si trovano i passeggeri; Ad esempio, una persona con cui l'età è "22" viene visualizzata come "negli anni Venti" e così via. Di seguito è riportata la dimostrazione di questo esempio:

Seleziona "id", "nome",
CASO
Quando "età" <30 THEN 'In twenties'
Quando "età" <40 THEN 'In thirties'
Quando "Age"> = 40 allora 'di mezza età'
End Age_era
Da "Passengers_info"
Ordine per "id";

Nella dichiarazione di cui sopra,

  • La clausola "Seleziona" seleziona le colonne che devono essere visualizzate nell'output.
  • Nell'espressione del "caso", la condizione nella clausola "quando" viene confrontata se c'è un passeggero con un'età inferiore a 30, quindi mettilo nei risultati di quel passeggero "negli anni Venti" e così via.
  • La clausola "end" è quella di porre fine alla condizione e "age_era" fornisce il nome alla colonna nell'output. È possibile specificare qualsiasi altro nome di conseguenza.
  • La clausola "da" estraggerà i dati dalla tabella menzionata.
  • Infine, la clausola "Ordine per" è facoltativa; Viene utilizzato per ordinare i risultati in ordine crescente con "ID".

L'istruzione sopra fornisce il seguente output sullo schermo:

Come possiamo vedere, i passeggeri ventenni, trent'anni o era di mezza età sono visualizzati rispettivamente con i loro ID e la colonna Nome e il nome della colonna che abbiamo incluso nella clausola "End" è anche visibile.

Semplice espressione "caso" con funzione somma in postgresql:

Possiamo usare funzioni aggregate come conteggio, somma, avg, min, massimo ecc. funzioni anche nelle nostre dichiarazioni all'interno delle espressioni "caso". Nell'esempio seguente, vedremo come puoi usare la funzione "somma" nelle dichiarazioni delle condizioni "caso":

SELEZIONARE
SOMMA
(Caso "Travel_to"
Quando "Parigi" allora 1
Altrimenti 0
Fine) "Tavelling Paris",
SOMMA
(Caso "Travel_to"
Quando "NewYork" allora 1
Altrimenti 0
Fine) "Tavelling NewYork",
SOMMA
(Caso "Travel_to"
Quando "Sydney" allora 1
Altrimenti 0
Fine) "Tavelling Sydney",
SOMMA
(Caso "Travel_to"
Quando "Hogwarts" allora 1
Altrimenti 0
Fine) "Tavelling Hogwarts",
SOMMA
(Caso "Travel_to"
Quando "Maldive" allora 1
Altrimenti 0
Fine) "Tavelling Maldives",
SOMMA
(Caso "Travel_to"
Quando "Grecia" allora 1
Altrimenti 0
Fine) "Tavelling Grece"
Da "PASSEGGERS_INFO";

La sintassi di cui sopra utilizza la funzione "somma" per calcolare quanti passeggeri viaggiano in una città specifica. L'output per la seguente sintassi è allegata di seguito:

Questo risultato di output mostra il numero di passeggeri che viaggiano verso la città.

Dichiarazioni di espressione "caso" generali/ ricercate in PostgreSQL:

La seguente sintassi mostra l'istruzione di base per scrivere espressioni generali o cercate "caso" in PostgreSQL:

Nelle espressioni "caso" ricercate o generali, le condizioni sono espressioni booleane e le espressioni "caso" dipendono da queste espressioni booleane. L'espressione del "caso" valuta ogni condizione nell'istruzione fino a quando non viene fondata la condizione "vera". Se trova la vera condizione ad un certo punto, allora non passa all'espressione successiva e restituisce il risultato della vera condizione. Se non si trova alcuna condizione è vera, allora esegue l'istruzione della clausola "else" o restituisce null se non viene menzionata alcuna condizione "else".

Espressione generale del "caso" con funzione di somma nell'esempio di PostgreSQL:

In questo esempio divideremo e calcoleremo i passeggeri che viaggiano in due classi i.e. Economia e business class utilizzando la funzione "somma":

SELEZIONARE
SOMMA
(CASO
Quando "pagamento" 100000 quindi 1
Altrimenti 0
FINE
) Come "business_class"
Da passeggeri_info;

Nella dichiarazione di cui sopra, abbiamo utilizzato la condizione che i passeggeri con un pagamento di meno di 1 lac viaggiano in classe economica e più di 1 lac viaggerà in business class. L'uscita viene visualizzata come:

Conclusione:

In conclusione, in questo articolo abbiamo imparato come usare le espressioni "caso" in PostgreSQL. Esistono due forme di espressione "caso" ed entrambi possono essere usati per ottenere il risultato desiderato. Abbiamo anche eseguito alcuni esempi usando "caso" con clausole "quando" e "allora" nelle istruzioni per implementare la sintassi dell'espressione "caso" in PostgreSQL.