問合せ結果のソート

問合せで選択された行を並べ替えるには、ORDER BY句を使用します。位置のソートは次のような場合に有効です。

  • selectリストの式が長い場合に並べ替えを行うには、式全体を繰り返すかわりにORDER BY句で位置を指定できます。

  • 集合演算子UNIONINTERSECTMINUSまたは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グローバリゼーション・サポート・ガイド』を参照してください。