Tutorial online MySQL – Ordinamento dati

mysql-logo

In questa lezione del tutorial online MySQL vedremo come possiamo cambiare l’ordine di visualizzazione dei dati estratti dalle tabelle MySQL con la clausola ORDER BY dell’istruzione SELECT.

Fino a questo momento i dati che abbiamo recuperato sono stati visualizzati nell’ordine in cui sono stati memorizzati nella tabella. Ma questo tipo di visualizzazione non è quasi mai quello più comodo o quello che ci interessa avere.

Il linguaggio SQL consente l’ordinamento dei dati recuperati con la clausola ORDER BY. Questa clausola richiede il nome della colonna in base alla quale verranno ordinati i dati. Vediamo come visualizzare i nomi dei dipendenti con i cognomi in ordine alfabetico (in ordine crescente).

Possiamo vedere l’elenco dei dipendenti ordinato per età:

La clausola ORDER BY può ordinare i dati in modo crescente o decrescente. Se vogliamo ordinarli in modo crescente useremo l’argomento ASC, se vogliamo ordinarli in modo decrescente useremo l’argomento DESC. Se non forniamo nessun argomento, per default viene usato l’ordinamento crescente.

Per elencare i nomi dei dipendenti in ordine decrescente, useremo la seguente dichiarazione.

Esercizi

  1. Mostra l’elenco dei dipendenti ordinandoli in base allo stipendio che percepiscono.
  2. Elencare tutti i dipendenti in ordine decrescente dei loro anni di servizio.
  3. Quale sarà il risultato visualizzato dalla seguente query MySQL?
  4. Visualizzare i dipendenti (nome e cognome) che hanno il titolo di “Programmatore” o “Web Designer”, ordinati alfabeticamente per cognome.

Risposte

  1. La SELECT mostra l’ID, il cognome, il titolo e l’età dei dipendenti ordinati in base al titolo in ordine alfabetico e età in ordine decrescente.
  2. Nota. Viene effettuato prima di tutto l’ordinamento alfabetico del titolo. Poi, per ciascun titolo viene effettuato l’ordinamento dell’età in ordine decrescente.

Tags:

About the Author

Post a Reply

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

Top