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つの値は言語的に等しいとみなされる場合があります。