A cláusula ORDER BY no Access ordena os registos resultantes da consulta num campo ou campos especificados por ordem ascendente ou descendente.
Sintaxe
SELECT listadecampos
FROM tabela WHERE critériosdeseleção [ORDER BY campo1 [ASC | DESC ][, campo2 [ASC | DESC ]][, ...]]]Uma instrução SELECT que inclua uma cláusula ORDER BY tem as seguintes partes:
Parte |
Descrição |
listadecampos |
O nome do campo ou campos a obter juntamente com os aliases de nome do campo, funções de agregação SQL, predicados de seleção (ALL, DISTINCT, DISTINCTROW ou TOP) ou outras opções da instrução SELECT. |
tabela |
O nome da tabela a partir da qual são obtidos os registos. |
critériosdeseleção |
Critérios de seleção. Se a instrução incluir uma cláusula WHERE, o motor de base de dados do Microsoft Access ordena os valores após aplicar as condições WHERE aos registos. |
campo1, campo2 |
Os nomes dos campos nos quais pretende ordenar os registos. |
Observações
A cláusula ORDER BY é opcional. No entanto, se quiser que os dados sejam apresentados numa sequência de ordenação, terá de utilizar a cláusula ORDER BY.
A sequência de ordenação predefinida é ascendente (A a Z, 0 a 9). Ambos os exemplos seguintes ordenam os nomes dos funcionários pela ordem do apelido:
SELECT LastName, FirstName
FROM Employees ORDER BY LastName;
SELECT LastName, FirstName
FROM Employees ORDER BY LastName ASC;
Para ordenar por ordem descendente (Z a A, 9 a 0), adicione a palavra reservada DESC no final de cada campo que pretende ordenar por ordem descendente. O exemplo seguinte seleciona os salários e ordena-os pela ordem descendente:
SELECT LastName, Salary
FROM Employees ORDER BY Salary DESC, LastName;
Se especificar um campo com dados do tipo Memo ou Objeto OLE na cláusula ORDER BY, será apresentado um erro. O motor de base de dados do Microsoft Access não ordena campos destes tipos.
A cláusula ORDER BY é, geralmente, o último item numa instrução SQL.
Pode incluir campos adicionais na cláusula ORDER BY. Os registos são, inicialmente, ordenados pelo primeiro campo listado pela cláusula ORDER BY. Os registos que tenham valores iguais nesse campo serão ordenados pelo valor no segundo campo listado e assim sucessivamente.