内部変数および別名の使用

Oracle NoSQL Databaseでは、内部変数の暗黙的な宣言も可能です。内部変数は、それを宣言する式の実行中に値にバインドされます。

問合せの表名の後に表の別名を付けることができます。表の別名は、基本的に、指定された表の行全体にわたる変数です。別名が指定されていない場合は、問合せでのスペルに従って表の名前を使用し、内部的に作成されます。

例1: 特定の予約コードのチケット番号と乗客の詳細を検索します。
SELECT bagDet.ticketNo, bagDet.fullName, bagDet.contactPhone FROM BaggageInfo bagDet
WHERE confNo="QB1O0J"

説明: この問合せでは、特定の予約コードのフルネーム、チケット番号、連絡先電話など、静的フィールドの値をフェッチします。BaggageInfo表の表の別名を使用します。

出力:
{"ticketNo":1762390789239,"fullName":"Zina
      Christenson","contactPhone":"987-210-3029"}

表の別名がドル記号($)で始まる場合、実際には、名前が別名である変数の変数宣言として機能します。この変数はコンテキスト行にバインドされます。

例2: 2019年以降に運搬されたすべての乗客手荷物についてフルネームとタグ番号をフェッチします。
SELECT fullName, bag.ticketNo FROM BaggageInfo bag WHERE
exists bag.bagInfo[$element.bagArrivalDate >="2019-01-01T00:00:00"]

説明: 各手荷物の到着日の値は2019年より後である必要があります。ここでは、$elementがコンテキスト行(顧客のそれぞれの手荷物)にバインドされています。EXISTS演算子は、入力式によって返された順序が空かどうかをチェックします。比較演算子>=によって返される順序は、2019年以降に到着したすべての手荷物について空ではありません。

出力:
{"fullName":"Lucinda Beckman","ticketNo":1762320569757}
{"fullName":"Adelaide Willard","ticketNo":1762392135540}
{"fullName":"Raymond Griffin","ticketNo":1762399766476}
{"fullName":"Elane Lemons","ticketNo":1762324912391}
{"fullName":"Zina Christenson","ticketNo":1762390789239}
{"fullName":"Zulema Martindale","ticketNo":1762340579411}
{"fullName":"Dierdre Amador","ticketNo":1762376407826}
{"fullName":"Henry Jenkins","ticketNo":176234463813}
{"fullName":"Rosalia Triplett","ticketNo":1762311547917}
{"fullName":"Lorenzo Phil","ticketNo":1762320369957}
{"fullName":"Gerard Greene","ticketNo":1762341772625}
{"fullName":"Adam Phillips","ticketNo":1762344493810}
{"fullName":"Doris Martin","ticketNo":1762355527825}
{"fullName":"Joanne Diaz","ticketNo":1762383911861}
{"fullName":"Omar Harvey","ticketNo":1762348904343}
{"fullName":"Fallon Clements","ticketNo":1762350390409}
{"fullName":"Lisbeth Wampler","ticketNo":1762355854464}
{"fullName":"Teena Colley","ticketNo":1762357254392}
{"fullName":"Michelle Payne","ticketNo":1762330498104}
{"fullName":"Mary Watson","ticketNo":1762340683564}
{"fullName":"Kendal Biddle","ticketNo":1762377974281}