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 expression
Remarque : La clause
FROM
peut être utilisée avec une expression retournant un tableau, un enregistrement ou un type primitif. Avec un enregistrement ou un type primitif, la clause crée un tableau 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 un tableau, il peut être utilisé pour faire référence au tableau dans les clauses subséquentes. L'alias doit être unique à travers la requête et doit être défini comme suit :FROM expression 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 expression INDEX $variable_name
Les exemples suivants sont des clauses
FROM
valides :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