問合せ結果のソート
問合せで選択された行を並べ替えるには、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つの値は言語的に等しいとみなされる場合があります。
関連項目:
NLSパラメータの詳細は、「NLSSORT」および『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。