FROM句を使う
FROM句は、識別子で定義されている入力エレメントで反復処理を行うために使われます。
FROM句は次のような構造であることが必要です。
FROM expression
情報メモ注: FROM句は、配列、レコード、プリミティブ型を返す式と一緒に使用できます。レコードまたはプリミティブ型の場合、この句は単一の項目が含まれている配列を作成します。
FROM句は、ASおよびINDEXなどのような他のキーワードを含めます。
ASキーワードでは、配列のエイリアスを作成し、後続の句で配列内のエレメントの参照に使用できます。エイリアスはクエリー全体で一意であり、以下のように定義されることが必要です:FROM expression AS alias
エイリアスのないFROM句を使う時に、UNNEST句に後続されている場合、または識別子が絶対パスである場合を除いて、クエリーで使用される識別子はすべてFROM句で識別子の相対パスとして扱われます。たとえば次のクエリーでは:
FROM customers
SELECT {
name,
id
}
選択されたエレメントはcustomers.nameとcustomers.idです。入力データをinputと名付けたこのクエリーでも同じ結果が得られます。
FROM customers
SELECT {
input.customers.name,
input.customers.id
}
INDEXキーワードでは、変数に現在の反復のインデックスを保管できます。変数は$記号で始まる必要があり、階層識別子ではない必要があります(たとえば $item.indexは有効な変数ではありません)。変数はクエリー全体で一意であることが必要です。INDEXを以下のように定義する必要があります:
FROM expression INDEX $variable_name
次の例は有効なFROM句です:
FROM customers AS c INDEX $i
FROM 1 TO 5 AS i
FROM toArray(address_1, address_2, address_3) AS addr INDEX $i
FROM ['a', 'e', 'i', 'o', 'u', 'y' ] AS vowels