Sdílet prostřednictvím


FROM – Dotazovací jazyk ve službě Cosmos DB (v Azure a prostředcích infrastruktury)

Klauzule FROM identifikuje zdroj dat pro dotaz.

Syntaxe

FROM <from_specification>

<from_specification> ::= <from_source> {[ JOIN <from_source>][,...n]}
<from_source> ::= <container_expression> [[AS] input_alias] | input_alias IN <container_expression>
<container_expression> ::= ROOT | container_name | input_alias | <container_expression> '.' property_name | <container_expression> '[' "property_name" | array_index ']'

Arguments

Description
from_source Určuje zdroj dat s aliasem nebo bez ho.
AS input_alias Určuje, že input_alias je sada hodnot vrácených podkladovým výrazem kontejneru.
input_alias IN Určuje, že input_alias by měla představovat sadu hodnot získaných iterací nad všemi prvky pole každého pole vráceného podkladovým výrazem kontejneru.
container_expression Určuje výraz kontejneru, který se má použít k načtení položek.
ROOT Určuje, že položka by se měla načíst z výchozího, aktuálně připojeného kontejneru.
container_name Určuje, že položka by se měla načíst z poskytnutého kontejneru.
input_alias Určuje, že položka by měla být načtena z jiného zdroje definovaného zadaným aliasem.
<container_expression> '.' property_name Určuje, že položka by měla být načtena přístupem k property_name vlastnost.
<container_expression> '[' "property_name" | array_index ']' Určuje, že položka by měla být načtena přístupem k property_name vlastnost nebo array_index prvek pole pro všechny položky načtené zadaným výrazem kontejneru.

Návratové typy

Vrátí sadu položek ze zadaného zdroje.

Examples

Tato část obsahuje příklady použití tohoto konstruktoru dotazovacího jazyka.

Klauzule FROM s aliasem kontejneru

V tomto příkladu FROM se klauzule používá k určení aktuálního kontejneru jako zdroje, jeho jedinečnému názvu a následnému aliasu. Alias se pak použije k projektování konkrétních polí ve výsledcích dotazu.

SELECT VALUE 
  p.name
FROM
  products p
[
  "Joller Kid's Jacket",
  "Codlier Kid's Jacket",
  ...
]

Klauzule FROM s podroot jako zdrojem

V tomto příkladu FROM může klauzule také snížit zdroj na menší podmnožinu. Pokud chcete vytvořit výčet pouze podstromu v každé položce, může se podroot stát zdrojem. Pole nebo podroot objektu lze použít jako zdroj.

SELECT VALUE
  s
FROM
  products.sizes s
[
  {
    "key": "65",
    "description": "6.5",
    "order": 0
  },
  {
    "key": "75",
    "description": "7.5",
    "order": 1
  },
  ...
]

Poznámky

  • Všechny zadané aliasy nebo odvozené v <from_source>(s) musí být jedinečné.
  • Pokud výraz kontejneru přistupuje k vlastnostem nebo prvkům pole a tato hodnota neexistuje, tato hodnota se ignoruje a nezpracuje se dále.
  • Výraz kontejneru může mít obor kontejneru nebo obor položky.
  • Výraz je vymezený kontejnerem, pokud je podkladovým zdrojem výrazu kontejneru nebo ROOTcontainer_name. Takový výraz představuje sadu položek načtených z kontejneru přímo a není závislý na zpracování jiných výrazů kontejneru.
  • Výraz je vymezený položkou, pokud je input_alias podkladový zdroj výrazu kontejneru zaveden dříve v dotazu. Takový výraz představuje sadu položek získaných vyhodnocením výrazu kontejneru. Toto vyhodnocení se provádí v oboru každé položky, která patří do sady přidružené k kontejneru aliasů. Výsledná sada je sjednocení sad získaných vyhodnocením výrazu kontejneru pro každou položku v podkladové sadě.