La clause FROM
est utilisée pour effectuer une itération sur un élément d'entrée défini par un identifiant.
La clause
FROM
doit être structurée comme ceci :FROM identifier
Remarque : La clause
FROM
peut être utilisée avec un identifiant référençant une collection, un enregistrement ou un type primitif. Avec un enregistrement ou un type primitif, la clause crée une collection contenant un seul élément.La clause FROM
peut contenir d'autres mots-clés, comme AS
et INDEX
.
AS
vous permet de créer un alias pour une collection, il peut être utilisé pour faire référence à la collection dans les clauses subséquentes. L'alias doit être unique à travers la requête et doit être défini comme suit :FROM identifier AS alias
Lors de l'utilisation d'une clause
FROM
sans alias, tous les identifiants utilisés dans la requête sont traités comme relatifs à l'identifiant dans la clause FROM
, sauf lorsqu'elle est suivie par une clause UNNEST
ou lorsque l'identifiant est un chemin absolu. Par exemple, dans la requête suivante :FROM customers
SELECT {
name,
id
}
Les éléments sélectionnées sont
customers.name
et customers.id
. Vous obtiendrez le même résultat avec cette requête, où les données d'entrée sont nommées input
:FROM customers
SELECT {
input.customers.name,
input.customers.id
}
Le mot-clé
INDEX
vous permet de stocker l'index de l'itération courante dans une variable. La variable doit commencer par le caractère $
et ne peut pas être un identifiant hiérarchique. Par exemple, $item.index
n'est pas une variable valide. La variable doit être unique à travers la requête. L'INDEX
doit être défini comme suit :FROM identifier INDEX $variable_name
L'exemple suivant est une clause
FROM
valide :FROM customers AS c INDEX $i