ORDER BY句を使用して、問合せによって選択された行を順序付けます。位置のソートは次のような場合に有効です。
長いSELECT構文のリストの式によって順序付けるためには、全体の式を複製するのではなく、ORDER BY句でその位置を指定することができます。
集合演算子UNION、INTERSECT、MINUSまたはUNION ALLを含む複合問合せでは、ORDER BY句に明示的な式ではなく、位置または別名を指定する必要があります。またORDER BY句は、最後のコンポーネントの問合せにのみ使用できます。ORDER BY句は、複合問合せ全体によって戻されたすべての行を順序付けます。
Oracle DatabaseによってORDER BY句の文字値のソートに使用されるメカニズムは照合とも呼ばれ、NLS_SORTセッション・パラメータで指定されます。このパラメータが未設定の場合、NLS_LANGUAGEセッション・パラメータからデフォルトが導出されます。ALTER SESSION SET NLS_SORT文を使用して、照合を動的に変更できます。2つ目のパラメータで指定される照合を使用して、引数としてソートされる文字式をNLSSORTファンクションに含めることによって、特定の照合を適用することもできます。
ORDER BY句の文字値が言語的に比較される場合、文字値はまず照合キーに変換されてから、RAW値のように比較されます。照合キーは、NLSSORTの指定に従って明示的に生成されるか、NLSSORTで使用される同じメソッドを用いて暗黙的に生成されます。明示的および暗黙的に生成された照合キーは、いずれも「NLSSORT」で説明されている制限事項の対象になります。これらの制限事項の結果、照合キーの生成に使用される接頭辞が同じであれば、残りの値が異なっていても、2つの値は言語的に等しいとみなされる場合があります。