La clausola ORDER BY in Access ordina i record risultanti di una query in uno o più campi specificati in ordine crescente o decrescente.
Sintassi
SELECT elencocampi
FROM tabella WHERE criteriselezione [ORDER BY campo1 [ASC | DESC ][, campo2 [ASC | DESC ]][, ...]]]Un'istruzione SELECT che include una clausola ORDER BY è composta dalle parti seguenti:
Parte |
Descrizione |
elencocampi |
Nome del campo o dei campi da recuperare insieme agli eventuali alias dei nomi di campo, alle funzioni di aggregazione SQL, ai predicati di selezione (ALL, DISTINCT, DISTINCTROW o TOP) e altre opzioni dell'istruzione SELECT. |
tabella |
Nome della tabella di cui vengono recuperati i record. |
criteriselezione |
Criteri di selezione. Se nell'istruzione è inclusa una clausola WHERE, il motore di database di Microsoft Access ordina i valori dopo l'applicazione delle condizioni della clausola WHERE ai record. |
campo1, campo2 |
Nomi dei campi in cui ordinare i record. |
Osservazioni
ORDER BY è facoltativo. Tuttavia, se si vuole che i dati vengano visualizzati in ordine, è necessario usare ORDER BY.
L'impostazione predefinita ordinamento è crescente, dalla A alla Z e da 0 a 9. Entrambi gli esempi seguenti permettono di ordinare i nomi dei dipendenti in base al cognome:
SELECT LastName, FirstName
FROM Employees ORDER BY LastName;
SELECT LastName, FirstName
FROM Employees ORDER BY LastName ASC;
Per applicare l'ordinamento decrescente, dalla Z alla A e da 9 a 0, aggiungere la parola riservata DESC alla fine di ogni campo a cui applicare l'ordinamento decrescente. L'esempio seguente permette di selezionare i compensi e disporli in ordine decrescente:
SELECT LastName, Salary
FROM Employees ORDER BY Salary DESC, LastName;
Se si specifica un campo contenente dati di tipo oggetto OLE o Memo nella clausola ORDER BY, si verifica un errore. Il motore di database di Microsoft Access non esegue l'ordinamento su campi di questo tipo.
La clausola ORDER BY è in genere l'ultimo elemento in un'istruzione SQL.
È possibile includere campi aggiuntivi nella clausola ORDER BY. I record vengono ordinati prima di tutto in base al primo campo indicato dopo la clausola ORDER BY. I record con valori uguali in tale campo vengono ordinati in base al valore del secondo campo nell'elenco e così via.