Delen via


FROM - Querytaal in Cosmos DB (in Azure en Fabric)

De FROM component identificeert de gegevensbron voor een query.

Syntaxis

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 Hiermee geeft u een gegevensbron, met of zonder alias.
AS input_alias Hiermee geeft u op dat de input_alias een set waarden is die wordt geretourneerd door de onderliggende containerexpressie.
input_alias IN Hiermee geeft u op dat de input_alias de set waarden moet vertegenwoordigen die zijn verkregen door alle matrixelementen van elke matrix die wordt geretourneerd door de onderliggende containerexpressie.
container_expression Hiermee geeft u de containerexpressie die moet worden gebruikt om de items op te halen.
ROOT Hiermee geeft u op dat het item moet worden opgehaald uit de standaardcontainer die momenteel is verbonden.
container_name Hiermee geeft u op dat het item moet worden opgehaald uit de opgegeven container.
input_alias Hiermee geeft u op dat het item moet worden opgehaald uit de andere bron die is gedefinieerd door de opgegeven alias.
<container_expression> '.' property_name Hiermee geeft u op dat het item moet worden opgehaald door toegang te krijgen tot de eigenschap property_name.
<container_expression> '[' "property_name" | array_index ']' Hiermee geeft u op dat het item moet worden opgehaald door toegang te krijgen tot de eigenschap property_name of array_index matrixelement voor alle items die zijn opgehaald door de opgegeven containerexpressie.

Retourtypen

Retourneert de set items uit de opgegeven bron.

Voorbeelden

Deze sectie bevat voorbeelden van het gebruik van deze querytaalconstructie.

FROM-component met containeralias

In dit voorbeeld wordt de FROM component gebruikt om de huidige container als bron op te geven, deze een unieke naam te geven en deze vervolgens een alias te geven. De alias wordt vervolgens gebruikt om specifieke velden in de queryresultaten te projecteren.

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

FROM-component met subroot als bron

In dit voorbeeld kan de FROM component ook de bron beperken tot een kleinere subset. Als u slechts een substructuur in elk item wilt inventariseren, kan de subroot de bron worden. Een subhoofdmap van een matrix of object kan als bron worden gebruikt.

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

Opmerkingen

  • Alle aliassen die in de <from_source>(s) zijn opgegeven of afgeleid, moeten uniek zijn.
  • Als een containerexpressie toegang heeft tot eigenschappen of matrixelementen en die waarde niet bestaat, wordt die waarde genegeerd en niet verder verwerkt.
  • Een containerexpressie kan een containerbereik of itembereik hebben.
  • Een expressie is containerbereik, als de onderliggende bron van de containerexpressie een of ROOTcontainer_name. Een dergelijke expressie vertegenwoordigt een set items die rechtstreeks uit de container zijn opgehaald en is niet afhankelijk van de verwerking van andere containerexpressies.
  • Een expressie is itembereik, als de onderliggende bron van de containerexpressie eerder in de query wordt input_alias geïntroduceerd. Een dergelijke expressie vertegenwoordigt een set items die zijn verkregen door de containerexpressie te evalueren. Deze evaluatie wordt uitgevoerd in het bereik van elk item dat deel uitmaakt van de set die is gekoppeld aan de aliascontainer. De resulterende set is een samenvoeging van sets die zijn verkregen door de containerexpressie te evalueren voor elk van de items in de onderliggende set.