たのしいXML: XQuery: where句の例

2008年11月02日(日)更新


■検索内容の絞込み

たけち: 前回はXQueryの書き方を簡単な例でみてみたね。

さらら: えぇ。

たけち: で、今回はwhere句を使って、検索の絞込みの例を試してみよう。

さらら: 検索の絞込み?

たけち: 前回、for句で変数$inputにXML要素を取り出したよね。この中から、さらに条件に合う要素を取り出すことができるんだよ。

さらら: そっか。


■検索の例

たけち: まず、簡単な検索の例として前回とはちょっとだけ違う例をやってみよう。テーブル MANYO01内のデータは、前回とまったく同じだからね。

さらら: はい。

たけち: まずは。コマンドエディタを起動して、SAMPLE01にアクセスして。。

さらら: はい。

たけち: 次の検索コマンドを実行してみて。


poem要素の検索例

コマンドエディタで
    xquery
    for $input in db2-fn:xmlcolumn("MANYO01.POEM")/poem
    return $input;  ;

を入力します。

yomi要素の検索例

さらら: あっ、3つのpoem要素が表示されたわ。あっ、前回は
    for $input in db2-fn:xmlcolumn("MANYO01.POEM")/poem/yomi
だったのが、
    for $input in db2-fn:xmlcolumn("MANYO01.POEM")/poem
になっているからなのね。
でも、これだと検索結果が全部の要素になっているわね。


■where句で、属性による絞込みの例

たけち: そうだね。で、この中から、
    poem要素のpoet属性の内容が"額田王"
の要素だけを抽出するようにしてみよう。

さらら: あっ、さっき言ってた、where句で絞込み、ってことね。

たけち: そうそう。for句で選び出した要素の並びから、where句で指定した条件に合う要素を抽出できるんだよ。

さらら: そうなんだ。で、どう書けばいいの?

たけち: 次のように書いて、実行してみて。


poem要素の検索例

コマンドエディタで
    xquery
    for $input in db2-fn:xmlcolumn("MANYO01.POEM")/poem

    where $input/@poet = "額田王"
    return $input   ;

を入力します。

where句で属性を指定(例)

さらら: あっ、poem要素のpoet属性の内容が"額田王"のpoem要素が表示されたわ。

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

さらら: はい。

where句で属性を指定(例)

さらら: これって、どっかで見たような。。。あっねこれもXPathなのね。

たけち: そうだね。で、return句では、変数の$inputをそのまま記述しているよね。

さらら: それで、poem要素のpoet属性の内容が"額田王"のpoem要素が2つ表示されたのね。

たけち: 今回もとっても簡単な例を試してみたね。

さらら: はい。where句の雰囲気はわかったわ。

たけち: これからも少しずつ複雑な検索式にトライしてみようね。

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

→次回はwhere句の例(2)です。 (^ ^;


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