ORDER BY 節

ORDER BY節はSELECT文の省略可能な要素です。 ORDER BY節にてResultSetにある行の順番を指定できます。

Syntax

ORDER BY { 列名 | ColumnPosition | Expression }
    [ ASC | DESC ]
    [ , 列名 | 列位置 |  
        [ ASC | DESC ] ] * 
列名
問い合わせのSELECT 文選択項目にて、可視である名前を参照します。 ORDER BYで指定する列名はSELECTされる項目になくとも構いません。
列位置
SELECT 文選択項目の、列の番号を指定する整数です。 列位置は、0より大きくかつ結果表の列数以下でなければなりません。言い換えれば、列で並び変えるために、その列がSELECTされる項目にある必要があります。
並び変えを行うキーの式で、数値や文字列、日付などの式とすることができます。 はスカラー副問い合わせやCASE式などの、行の値における式とすることができます。
ASC
結果を昇順で返すことを指定します。方向が指定されない場合、ASCが既定です。
DESC
結果を降順で返すことを指定します。

但し書き

相関名を使う例

相関名が選択項目にて指定されていれば、結果セットを相関名で並び変えできます。 たとえばCITIESデータベースから、COUNTRY列にNATIONという相関名を与えて、CITY_NAME列とCOUNTRY列に格納されているすべての情報を返す場合、次のようなSELECT文を書きます。

SELECT CITY_NAME, COUNTRY AS NATION 
    FROM CITIES 
    ORDER BY NATION

数式を使う例

結果セットを数式で並び変えることができます。例を挙げます。
SELECT name, salary, bonus FROM employee 
   ORDER BY salary+bonus
この例では、salaryとbonus列はDECIMALデータ型です。

関数を使う例

結果セットを関数の呼び出し結果を元に並び変えることができます。例を挙げます。
SELECT i, len FROM measures 
   ORDER BY sin(i)