DB2 - Exemplos simples - ORDER BY



Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

DB2 - Exemplos simples - ORDER BY

When you use the SELECT statement to query data from a table, the order of rows in the result set is unspecified.
To sort the result set by values in one or more columns, you use the ORDER BY clause.
The ORDER BY clause is an optional clause of the SELECT statement.
It always appears at the end of the SELECT statement as follows:
Sorts the result set in ascending or descending order

Quando você usa a instrução SELECT para consultar dados de uma tabela, a ordem das linhas no conjunto de resultados não é especificada.
Para classificar o conjunto de resultados por valores em uma ou mais colunas, você usa a cláusula ORDER BY.
A cláusula ORDER BY é uma cláusula opcional da instrução SELECT.
Sempre aparece no final da SELECTdeclaração da seguinte forma:
Classifica o conjunto de resultados em ordem crescente ou decrescente


    SELECT column1, column2, ...
      FROM table_name
     ORDER BY column1 [ASC | DESC],
              column2 [ASC | DESC],
    ...;

DB2 Database:

Below is a selection from the "Product" table in the DB2 database.
Abaixo está uma seleção da tabela "Produto" no banco de dados DB2.

ProductID      ProductName      Category       Price      QtyOnHand      TotalValue

7001           Mouse            Accessories    75.00		
7002           Harddrive        Accessories    65.00             20           1,300
7003           Keyboard         Accessories    36.00             33        1,118.00
7004           Ram              Components     23.50             16          376.00
7005           Honda            Bikes          1,200		
7006           Pen              Stationery      7.45             10           74.50
7007           Pendrive         Accessories    65.00             20           1,300

Example 1: Sorting by Single Columns - Exemplo 1: classificação por colunas únicas

    SELECT ProductID, ProductName, Category, Price
      FROM Product
     ORDER BY Price;

This statement sorts the data alphabetically in the ascending order by the Price column.
Essa declaração classifica os dados em ordem alfabética na ordem crescente pela coluna Preço.

Result - Resultado:

ProductID        ProductName        Category        Price

7006             Pen                Stationery       7.45
7004             Ram                Components      23.50
7003             Keyboard           Accessories     36.00
7002             Harddrive          Accessories     65.00
7007             Pendrive           Accessories     65.00
7001             Mouse              Accessories     75.00
7005             Honda              Bikes           1,200 

Example 2: Sorting by Multiple Columns - Exemplo 2: classificação por várias colunas

To sort by multiple columns, simply specify the column names separated by commas in the ORDER BY clause.
Para classificar por várias colunas, basta especificar os nomes das colunas separados por vírgulas na cláusula ORDER BY.

    SELECT ProductID, ProductName, Price
      FROM Product
     ORDER BY Price, ProductName;

This code retrieves three columns and sorts the results by two of them, first by Price and then by ProductName (i.e. If more than one record present with same price, hose records will be sorted again based on the name).
Este código recupera três colunas e classifica os resultados por duas delas, primeiro por Preço e depois por Nome do Produto (ou seja, se houver mais de um registro presente com o mesmo preço, esses registros serão classificados novamente com base no nome).

Result - Resultado:

ProductID        ProductName        Price

7006             Pen                 7.45
7004             Ram                23.50
7003             Keyboard           36.00
7002             Harddrive          65.00
7007             Pendrive           65.00
7001             Mouse              75.00
7005             Honda              1,200

Example 3: Sorting by Column Position - Exemplo 3: classificação pela posição da coluna

ORDER BY also supports ordering specified by relative column position.
ORDER BY também suporta ordenação especificada pela posição relativa da coluna.

    SELECT ProductID, Price, ProductName
      FROM Product
     ORDER BY 2, 3;

ORDER BY 2 means sort by the second column in the SELECT list, the Price column.
ORDER BY 2, 3 means sort by Price and then by ProductName.
ORDER BY 2 significa classificar pela segunda coluna na lista SELECT, a coluna Price.
ORDER BY 2, 3 significa classificar por Price e então por ProductName.

Result - Resultado:

ProductID        Price        ProductName

7006              7.45        Pen
7004             23.50        Ram
7003             36.00        Keyboard
7002             65.00        Harddrive
7007             65.00        Pendrive
7001             75.00        Mouse
7005             1,200        Honda

Example 4: Specifying Sort Direction - Exemplo 4: Especificando a direção de classificação

Data sorting is not limited to ascending sort orders (from A to Z).
Although this is the default sort order, the ORDER BY clause can also be used to sort in descending order (from Z to A).
A classificação de dados não se limita a ordens de classificação crescentes (de A a Z).
Embora esta seja a ordem de classificação padrão, a cláusula ORDER BY também pode ser usada para classificar em ordem decrescente (de Z a A).

To sort by descending order, the keyword DESC must be specified.
Para classificar em ordem decrescente, a palavra-chave DESC deve ser especificada.

    SELECT ProductID, ProductName, Price
      FROM Product
     ORDER BY Price DESC;

This SQL sorts the products by Price in descending order (most expensive product present first).
Este SQL classifica os produtos por preço em ordem decrescente (o produto mais caro apresenta primeiro).

Result - Resultado:

ProductID            ProductName            Price

7005                 Honda                  1,200
7001                 Mouse                  75.00
7002                 Harddrive              65.00
7007                 Pendrive               65.00
7003                 Keyboard               36.00
7004                 Ram                    23.50
7006                 Pen                     7.45