Order by

Origem: Wikipédia, a enciclopédia livre.

Uma cláusula ORDER BY no SGBD SQL, especifica que em uma declaração de um comando SELECT, o retorno é um conjunto de resultados, com as linhas sendo ordenadas baseando-se nos valores de uma ou mais colunas especificadas na cláusula. Os critérios de ordenação não precisam ser incluídos nos atributos do conjunto de resultados do SELECT. Os critérios de ordenação podem ser expressões, incluindo nomes de colunas, funções definidas pelo usuário, operações aritméticas ou expressões CASE. As expressões são avaliadas e os resultados são utilizados para a ordenação, ou seja, os valores armazenados na coluna ou os resultados da chamada da função.

A estrutura ORDER BY . . . DESC irá ordenar a tabela resultado em ordem decrescente de valores, caso contrário, a ordem crescente será utilizada (podendo ser especificada explicitamente usando ASC). Quando são ordenadas letras ou palavras, os valores são ordenados em ordem alfabética.

A cláusula ORDER BY é a única maneira de ordenar as linhas no conjunto de resultados. Sem essa cláusula, o sistema de banco de dados relacional retornará as linhas da tabela resultado em qualquer ordem.

Embora alguns sistemas de banco de dados permitam a especificação de uma ORDER BY em subconsultas ou definições de visualização, a presença dele ali não tem efeito. Uma visão é uma tabela relacional lógica, e o modelo relacional exige que uma tabela seja um conjunto de linhas, o que implica nenhuma ordem de classificação. Existe uma exceção, que são construções como ORDER BY ORDER OF ... (não padronizado no SQL: 2003 ) que permite a propagação de critérios de classificação por meio de subconsultas aninhadas. O SQL server da Microsoft também permite subconsultas com ORDER BY se o SELECT usa as cláusulas TOP ou OFFSET e FETCH.

Exemplos[editar | editar código-fonte]

SELECT *
FROM Employees 
ORDER BY LastName, FirstName

Nesse exemplo, o resultado desse SELECT, que mostra todos os atributos (colunas) da tabela, é ordenado pelo campo LastName (sobrenome) e, em seguida, pelo campo FirstName (primeiro nome) se o sobrenome corresponder.

Referências[editar | editar código-fonte]

  1. SELECT – Cláusula ORDER BY (Transact-SQL) - Consultado em 02 novembro, 2020
  2. Order by (Wikipedia inglês) - Consultado em 02 novembro, 2020