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à):

Screen-Shot-2021-09-20-at-2.57.23-AM

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.

Screen-Shot-2021-09-20-at-3.03.11-AM

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;
Screen-Shot-2021-09-20-at-3.22.34-AM

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;
Screen-Shot-2021-09-20-at-3.13.46-AM

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:

Screen-Shot-2021-09-20-at-3.33.26-AM

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.