SQL ORDER BY




SQL > Comandos SQL > Order By

Até agora, vimos como obter dados de uma tabela utilizando os comandos SELECT e WHERE. Contudo, frequentemente precisamos de listar os resultados por uma ordem em particular. Pode ser por ordem ascendente, descendente, ou com base no valor numérico ou valor de texto. Nesses casos, podemos utilizar a palavra-chave ORDER BY para alcançar o objetivo.

A sintaxe para uma instrução ORDER BY é a seguinte:

SELECT "nome_coluna"
FROM "nome_tabela"
[WHERE "condição"]
ORDER BY "nome_coluna" [ASC, DESC];

Os símbolos [] significam que a instrução WHERE é opcional. Contudo, se existir uma cláusula WHERE, esta precede a cláusula ORDER BY. ASC significa que os resultados serão apresentados por ordem ascendente e DESC significa que os resultados serão apresentados por ordem descendente. Se não for especificada qualquer uma, o padrão é ASC.

É possível ordenar por mais do que uma coluna. Nesse caso, a cláusula ORDER BY acima torna-se

ORDER BY "nome_coluna1" [ASC, DESC], "nome_coluna2" [ASC, DESC]

Assumindo que selecionamos a ordem ascendente para ambas as colunas, o resultado será ordenado pela ordem ascendente de acordo com a coluna 1. Se existir uma relação para o valor da coluna 1, ordenamos por ordem ascendente a coluna 2.

Por exemplo, podemos pretender listar o conteúdo da Tabela Store_Information por montante em dólares, por ordem descendente:

Tabela Store_Information
Store_NameSalesTxn_Date
Los Angeles150005-Jan-1999
San Diego25007-Jan-1999
San Francisco30008-Jan-1999
Boston70008-Jan-1999

introduzimos

SELECT Store_Name, Sales, Txn_Date
FROM Store_Information
ORDER BY Sales DESC;

Resultado:

Store_Name Sales Txn_Date
Los Angeles 1500 05-Jan-1999
Boston 700 08-Jan-1999
San Francisco 300 08-Jan-1999
San Diego 250 07-Jan-1999

Para além do nome da coluna, também podemos utilizar a posição da coluna (com base na consulta SQL) para indicar a que coluna pretendemos aplicar a cláusula ORDER BY. A primeira coluna é 1, a segunda coluna é 2, etc. No exemplo acima, iremos obter os mesmos resultados através do seguinte comando:

SELECT Store_Name, Sales, Txn_Date
FROM Store_Information
ORDER BY 2 DESC;

SQL Funções >>

Esta página foi atualizada pela última vez em 01/07/2022



Copyright © 2024   1keydata.com   Todos os direitos reservados.