Problema:
Vuoi visualizzare i record di una tabella in ordine alfabetico o alfabetico inverso in base a una determinata colonna.
Esempio:
Il nostro database ha una tabella denominata cliente. La tabella cliente contiene i dati nelle colonne ID, nome e cognome.
id | nome | cognome |
---|---|---|
1 | Susana | Tommaso |
2 | Giovanni | Michele |
3 | Tom | Muller |
Mostriamo le informazioni di ogni cliente, ordinate in ordine crescente per cognome.
Soluzione:
SELECT id, first_name, last_name, FROM customer ORDER BY last_name ASC;
Questa query restituisce i record ordinati in ordine alfabetico:
id | nome | cognome |
---|---|---|
2 | Giovanni | Michele |
3 | Tom | Muller |
1 | Susana | Tommaso |
Discussione:
Se desideri selezionare i record da una tabella ma desideri vederli ordinati in base a una determinata colonna, puoi semplicemente utilizzare il ORDER BY
clausola alla fine di un SELECT
dichiarazione. Non importa quanto sia complicata o lunga la tua query SQL:ORDER BY
dovrebbe essere sempre alla fine del comando.
Dopo il ORDER BY
parola chiave, si denomina la colonna in base alla quale devono essere ordinati i record. Nella nostra query, ordiniamo in base al cognome del cliente.
o
Per impostazione predefinita, ORDER BY
senza alcun identificatore aggiuntivo ordina in ordine crescente (equivalente all'utilizzo di ASC
parola chiave in modo esplicito). Come probabilmente puoi intuire, ASC
sta per "ascendente". Se desideri ordinare in ordine decrescente, specifica il DESC
parola chiave dopo il nome della colonna.
La query seguente è simile alla precedente ma restituisce un elenco di clienti ordinati in ordine decrescente in base al cognome:
SELECT id, first_name, last_name, FROM customer ORDER BY last_name DESC;
id | nome | cognome |
---|---|---|
1 | Susana | Tommaso |
3 | Tom | Muller |
2 | Giovanni | Michele |