Articolo originale: Ascending Order with SQL Order By
In questo articolo, ti mostrerò alcuni esempi di codice su come ordinare i tuoi dati in ordine ascendente usando la clausola SQL ORDER BY
.
Sintassi di ORDER BY
Questa è la sintassi base per ordinare i tuoi dati in ordine ascendente:
SELECT colonne FROM tabella
ORDER BY colonna;
Se vuoi un ordinamento discendente, devi usare la parola chiave DESC
.
SELECT colonne FROM tabella
ORDER BY colonna DESC;
L'istruzione SELECT
in SQL consente di ottenere dati da una tabella.
La clausola FROM
specifica da quale tabella vogliamo ottenere i dati da elencare.
In questo esempio, abbiamo una tabella di dati su dei musicisti con le colonne: id
(identificativo), name
(nome), age
(età), instrument
(strumento) e city
(città):
Attualmente la tabella viene ordinata automaticamente in ordine di id
ascendente.
Se volessimo ordinare i dati in modo ascendente per la colonna name
, dovremmo usare questa sintassi:
SELECT * FROM musicians
ORDER BY name;
Il carattere *
consente di selezionare tutte le colonne della tabella.
Puoi vedere che ora i nomi sono ordinati alfabeticamente e l'id
non è più nel corretto ordine ascendente.
Se volessimo ordinare i dati per città (city
), dovremo utilizzare questa sintassi.
SELECT * FROM musicians
ORDER BY city;
Puoi anche ordinare più colonne in ordine ascendente con lo stesso comando.
In questo nuovo esempio, otteniamo un ordinamento ascendente per età (age
) e città (city
).
SELECT * FROM musicians
ORDER BY age, city;
Possiamo vedere che nella tabella ci sono tre musicisti diciannovenni con le loro rispettive città ordinate alfabeticamente. Anche i musicisti che hanno 38 anni hanno le loro città correttamente ordinate alfabeticamente.
Se avessimo voluto visualizzare una parte dei dati con ordinamento ascendente e un'altra parte con ordinamento discendente, avremmo dovuto usare le parole chiave ASC
e DESC
.
In questo nuovo esempio, vogliamo elencare i dati in ordine discendente per età (age
) e in ordine ascendente per strumento (instrument
).
Ecco la sintassi:
SELECT * FROM musicians
ORDER BY age DESC, instrument ASC;
Dobbiamo usare entrambe le parole chiave ASC
e DESC
accanto ai nomi di colonna per specificare come vogliamo ordinare i dati.
Il risultato è il seguente:
Possiamo vedere nella nostra tabella che sia Oscar che Jenny sono i più anziani. Oscar è il primo risultato in quanto il nome del suo strumento (drums) alfabeticamente viene prima del nome dello strumento di Jenny (trombone).
Osserviamo la stessa situazione con Jess e Dave. Anche se sono di pari età, Jess compare più in alto nella tabella in quanto flute precede alfabeticamente trumpet.
Conclusione
Puoi ordinare i dati di una tabella in ordine ascendente usando la clausola di SQL ORDER BY
.
SELECT colonne FROM tabella
ORDER BY colonna;
Se vuoi un ordinamento discendente dovrai usare la parola chiave DESC
.
SELECT colonne FROM tabella
ORDER BY colonna DESC;
Il carattere *
indica che si vogliono selezionare tutte le colonne nella tabella.
SELECT * FROM tabella
ORDER BY colonna;
Se vuoi un ordinamento discendente su colonne multiple dovrai elencare le colonne oggetto di ordinamento dopo la clausola ORDER BY
.
SELECT * FROM tabella
ORDER BY colonna1, colonna2;
Se vuoi una parte di dati in ordine ascendente e un'altra parte in ordine discendente dovrai usare le parole chiave ASC
e DESC
.
SELECT * FROM tabella
ORDER BY colonna1 ASC, colonna2 DESC;
Ecco come usare la clausola ORDER BY
in SQL per ordinare i dati.