たのしいXML: XQuery: order by句

2009年01月04日(日)更新


■order by句で処理順序を指定

たけち: 前回まではwhere句を使って、検索の絞込みの例をみたね。

さらら: えぇ。

たけち: order by句を試してみよう

さらら: order by句?

たけち: order by句では、for句で指定したノードなどの処理の順番を指定できるんだ。たとえば、結果を名前の降順にしたりとか、ね。

さらら: あっ、そういうことって必要よね。

たけち: order by句の構文(一部省略してあります)を載せておくね。

order by句


■order by句の例(1) 昇順

さらら: 昇順がascendingで、降順がdescendingなのね。

たけち: そう。で、省略するとascendingとして扱われるからね。さっそくだけど、order by句で歌人の名前順(昇順)にしてみよう。次の例を見て。

さらら: はい。


poem要素の検索例: order by句で歌人の名前順(昇順)にする

コマンドエディタで

    xquery
    for $input in db2-fn:xmlcolumn("MANYO01.POEM")/poem
    order by $input/@poet ascending
    return fn:concat($input/@poet, ": ", $input/yomi);  

を入力します。

order by句で歌人の名前順(昇順)にする(例)

さらら: あっ、3首の歌が、歌人名と一緒に表示されたわ。

たけち: return句でfn:concat($input/@poet, ": ", $input/yomi)としているので、歌人名(poet属性)、": "、そして「よみ(yomi)」が結合されているんだね。

さらら: あっ、そっか。

たけち: 図でこの様子を確認しておこうね。

さらら: はい。

order by句で歌人の名前順(昇順)にする(例)


■order by句の例(2) 降順

たけち: 念のために、order by句で歌人の名前順(降順)にしてみよう。

さらら: こんどは、descendingを指定するのね。


poem要素の検索例: order by句で歌人の名前順(降順)にする

コマンドエディタで

    xquery
    for $input in db2-fn:xmlcolumn("MANYO01.POEM")/poem
    order by $input/@poet descending
    return fn:concat($input/@poet, ": ", $input/yomi);  

を入力します。

order by句で歌人の名前順(降順)にする(例)

さらら: こんどは、名前の順番が変わったわ。

たけち: order byの基本的な使い方はこれでいいよね。

さらら: はい。

たけち: じゃ、今回はこれでおしまい。おつかれさま。

さらら: は〜い。ありがと。

→ 次回はreturn句です。 (^ ^;


[たのしいXML のインデックス]へ