|
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_name |
Sales |
Date |
| Los Angeles |
1500 € |
05-Jan-1999 |
| San Diego |
250 € |
07-Jan-1999 |
| San Francisco |
300 € |
08-Jan-1999 |
| Boston |
700 € |
08-Jan-1999 |
introduzimos
SELECT store_name, Sales, Date
FROM Store_Information
ORDER BY Sales DESC
Resultado:
| store_name |
Sales |
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, Date
FROM Store_Information
ORDER BY 2 DESC
SQL Funções >>
Copyright © 2013 1keydata.com Todos os direitos reservados.
|