4.5.10 データ操作の構文規則

ここでは,データ操作を表現する構文について説明します。edmSQLで実行できるデータ操作は,ORDER BY句による検索結果の並び替えです。

<この項の構成>
(1) 形式
(2) <ORDER BY句>

(1) 形式

!! <ORDER BY句>の形式
<ORDER BY句> ::= ORDER BY <ソート指定リスト>
<ソート指定リスト> ::= <ソート指定> 〔 { <comma> <ソート指定> }... 〕
<ソート指定> ::= <ソートキー>  〔 <順序指定> 〕
<ソートキー> ::= <プロパティ指定>
        |<符号なし整数>
<順序指定> ::= ASC|DESC

(2) <ORDER BY句>

<ORDER BY句>では,検索結果を昇順または降順に並び替える場合の,そのソート方法を指定します。<ORDER BY句>を省略した場合,検索結果の取得順序は不定になります。これは,検索結果が集合として管理されているためです。<ORDER BY句>では,この検索結果集合から要素を取り出す時の,ソート方法を指定します。

形式

<ORDER BY句> ::= ORDER BY <ソート指定リスト>
<ソート指定リスト> ::= <ソート指定> 〔 { <コンマ> <ソート指定> }... 〕
<ソート指定> ::= <ソートキー>  〔 <順序指定> 〕
<ソートキー> ::= <プロパティ指定>
        |<符号なし整数>
<順序指定> ::= ASC|DESC

<ソート指定リスト>についての規則
  • <ソート指定リスト>に指定できる<ソート指定>の最大数は,データベース制限に従います。
<ソートキー>についての規則
  • <ソートキー>に指定できるのは,<プロパティ指定>またはソート項目を指定する番号である<符号なし整数>です。ただし,指定できる<ソートキー>のデータ型については,データベースの制限に従います。
  • <ソートキー>を<プロパティ指定>で指定する場合,指定できるのは,最も外側のSELECT句(主問い合わせのSELECT句)の<選択項目>に指定したプロパティだけです。<副問い合わせ>のSELECT句で指定した<選択項目>のプロパティは,指定できません。
  • 最も外側のSELECT句(主問い合わせのSELECT句)の<選択項目>が<ルーチンの起動>や<集合関数>の場合,<プロパティ指定>で<ソートキー>は指定できません。この場合は,ソート項目指定番号を指定してください。
  • ソート項目指定番号とは,検索結果として指定した<選択項目>のうち,どの選択項目を<ソートキー>とするかを,<選択項目>の出現番号で表現したものです。したがって,SELECT句で先頭に指定した<選択項目>が「1」になります。
  • <ソートキー>の<選択項目>として指定できるプロパティは,ソート可能(Orderable)なプロパティです。これは,プロパティ定義に次のように指定されたプロパティのことです。
    dmaProp_IsOrderable = bool = 1
  • 複数の<ソートキー>を指定した場合は,<ソートキー>を指定した順番(指定の左側からの順番)でソートします。
<順序指定>についての規則
  • <順序指定>では,<ソートキー>を並べる順序の方向を,昇順にするか,降順にするかを指定します。
  • ASCは<ソートキー>を昇順に並べる場合に指定します。
  • DESCは<ソートキー>を降順に並べる場合に指定します。
  • <順序指定>を省略した場合は,ASCが仮定されます。