Corso MySQL – La clausola HAVING

mysql-logo

In questa sessione del corso MySQL vedremo a cosa serve e come si utilizza la clausola HAVING. Inoltre vedremo un altra caratteristica di MySQL, che consente di assegnare un nome alle colonne visualizzate.

MySQL HAVING – La clausola HAVING

La clausola HAVING consente di utilizzare una ulteriore condizione per filtrare le nostre ricerche. Supponiamo di voler vedere quale è lo stipendio medio dei dipendenti, in base al reparto di appartenenza (titolo). Come abbiamo già visto, per visualizzare lo stipendio medio dei dipendenti divisi per gruppi usiamo la clausola GROUP BY:

Adesso supponiamo di voler elencare solamente i reparti il cui stipendio medio è più alto di 100 mila euro. Con quello che abbiamo visto fino ad ora di MySQL, non si può fare. Per poter ottenere quello che ci serve è necessario utilizzare la clausola HAVING:

Ma per ottenere il risultato di sopra, non possiamo usare la condizione WHERE? Che differenza c’è tra HAVING e WHERE?

La risposta è no, non possiamo usare la condizione WHERE. Questo perché la condizione WHERE viene eseguita prima della funzione GROUP BY, mentre a noi serve che venga eseguita dopo. La clausola HAVING è una estensione di GROUP BY che permette di filtrare i dati aggregati da GROUP BY.

MySQL – Denominazione delle colonne

MySQL permette di assegnare un nome alle colonne visualizzate. Così invece di usare nomi come alav, dip_id ecc… è possibile avere termini più descrittivi. La denominazione delle colonne si ottiene con la parola chiave AS. Ecco un esempio:

Questo pseudo nome, o alias, può servire per rendere quanto visualizzato più comprensibile agli utenti. La cosa importante da ricordare è che se si assegna un nome che contiene degli spazi, è necessario racchiuderlo tra virgolette. Ecco un altro esempio:

Esercizi

  1. Visualizzare l’elenco dei dipartimenti e l’età media dei dipendenti, per i dipartimenti in cui l’età media è maggiore di 30 anni.

Risposte

Tags:

About the Author

Post a Reply

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Top