ORDER BY 節 ORDER BY節はSELECT文の省略可能な要素です。 ORDER BY節にてResultSetにある行の順番を指定できます。 ORDER BY clausesyntax ASCimplied in ORDER BY clause DESCoptional element of ORDER BY clause ORDER BY clauseaffecting cursors ORDER BY clausespecifying expressions SyntaxORDER BY { | ColumnPosition | Expression } [ ASC | DESC ] [ , 列名 | 列位置 | [ ASC | DESC ] ] *
列名
問い合わせの選択項目にて、可視である名前を参照します。 ORDER BYで指定する列名はSELECTされる項目になくとも構いません。
列位置
選択項目の、列の番号を指定する整数です。 列位置は、0より大きくかつ結果表の列数以下でなければなりません。言い換えれば、列で並び変えるために、その列がSELECTされる項目にある必要があります。
並び変えを行うキーの式で、数値や文字列、日付などの式とすることができます。 はスカラー副問い合わせやCASE式などの、行の値における式とすることができます。
ASC
結果を昇順で返すことを指定します。方向が指定されない場合、ASCが既定です。
DESC
結果を降順で返すことを指定します。
但し書き
  • SELECT DISTINCTが指定されたり、SELECT文にGROUP BY節があった場合、ORDER BYする列はSELECTされる項目になければなりません。
  • ORDER BY節があると、SELECT文を更新可能カーソルとすることができません。より詳細な情報は、を参照してください。 例えば、もしINTEGERの列に整数があると、ソートのときNULLは1より大きいと見なされます。言い換えれば、NULLの値は、より上の位置にソートされます。
相関名を使う例

相関名が選択項目にて指定されていれば、結果セットを相関名で並び変えできます。 たとえば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)