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