Clausola ORDER BY

Si applica a
Access per Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

ELENCO campi SELECT
Tabella FROM
Criteri di selezione WHERE
[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'ordinamento predefinito è crescente (dalla A alla Z, 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.