TOP

SQL-Lezione 3. Ordinamento dei dati (ORDER BY)

YouLibreCalc for Excel logo

In futuro, potremmo aver bisogno di ordinare la nostra selezione - in ordine alfabetico per il testo o in ordine crescente/discendente - per i valori numerici. Per tali scopi, SQL dispone di un operatore speciale ORDER BY.

L'operatore SQL ORDER BY può ordinare sia dal più piccolo al più grande, cioè in ordine crescente, sia nell'ordine inverso, dal più grande al più piccolo.


1. Ordinamento dei dati selezionati

Ordiniamo l'intera tabella in base all'importo delle vendite di prodotti, ovvero in base alla colonna Importo.

Run SQLSELECT * 
FROM Sumproduct 
ORDER BY Amount

Vediamo che la query ha ordinato i record in ordine crescente nel campo Importo. È necessario osservare la sequenza della disposizione degli operatori, ovvero l'operatore ORDER BY deve andare alla fine della richiesta. In caso contrario, verrà ricevuto un messaggio di errore.

Inoltre, una caratteristica dell'operatore ORDER BY è che può ordinare i dati in base a un campo che non abbiamo selezionato nella query, ovvero è sufficiente che sia nel database.

2. Ordinamento per più campi

Ora ordiniamo ulteriormente il nostro esempio in base a un altro campo. Lascia che sia il campo City, che mostra il luogo di vendita dei prodotti.

Run SQLSELECT * 
FROM Sumproduct 
ORDER BY Amount, City

L'ordine di ordinamento dipenderà dall'ordine dei campi nella richiesta. Cioè, nel nostro caso, i dati verranno prima ordinati in base alla colonna Importo, quindi in base a City.

3. Direzione dello smistamento

Anche se per impostazione predefinita l'operatore ORDER BY ordina in ordine crescente, possiamo anche scrivere i valori in ordine decrescente. Per fare ciò inseriamo l'operatore DESC (che è l'abbreviazione della parola DESCENDING) alla fine di ogni campo.

Run SQLSELECT * 
FROM Sumproduct 
ORDER BY Amount DESC, City

In questo esempio, i valori nel campo Importo sono stati ordinati in ordine decrescente e nel campo City in ordine crescente. L'operatore DESC si applica solo ad una colonna, quindi se necessario deve essere scritto dopo ogni campo che partecipa all'ordinamento.