3 casi d’uso per l’istruzione SQL CASE WHEN

3 casi d'uso per l'istruzione SQL CASE WHEN

Spiegato con esempi

Foto di Tobias Fischer su Unsplash

In poche parole, l’istruzione CASE WHEN valuta le condizioni date e restituisce i risultati basati su questa valutazione.

Possiamo usarlo per derivare nuove colonne dalle esistenti. Ma ci sono altri casi in cui CASE WHEN è utile per risolvere compiti complessi.

Cosa impareremo in questo articolo:

  • Usare CASE WHEN per derivare nuove colonne
  • Usare CASE WHEN in GROUP BY
  • Usare CASE WHEN nel calcolo di aggregazioni basate su categorie derivate

<p+Effettueremo una query su una tabella product_inventory che ho creato con dati di esempio. Ecco le prime cinque righe di questa tabella:

(immagine dell'autore)

1. Usare Case When per derivare nuove colonne

L’istruzione CASE WHEN (o CASE) consente di valutare condizioni i cui risultati possono essere utilizzati per creare nuove colonne.

(immagine dell'autore)

Ad esempio, possiamo creare una nuova colonna price_group con valori basso, VoAGI, alto in base ai prezzi dei prodotti. Può essere considerato come la creazione di gruppi di prezzi dei prodotti.

SELECT product_description, price, CASE  WHEN price > 20 THEN 'alto'  WHEN price <= 20 AND price > 10 THEN 'VoAGI'  WHEN price <= 10 THEN 'basso' END AS price_groupFROM product_inventory
Le prime 10 righe dell'output della query sopra (immagine dell'autore)

L’istruzione CASE WHEN crea la colonna product_column in base ai seguenti criteri:

  • Se il prezzo è superiore a 20, il valore è “alto”.
  • Se il prezzo è compreso tra 10 e 20, il valore è “VoAGI”.
  • Se il prezzo è inferiore a 10, il valore è “basso”.

<p+Possiamo anche scrivere questa query come segue:

SELECT product_description, price, CASE  WHEN price > 20 THEN 'alto'  WHEN…