Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Klauzula FROM identyfikuje źródło danych dla zapytania.
Składnia
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 |
Określa źródło danych z aliasem lub bez tego aliasu. |
AS input_alias |
Określa, że input_alias jest zestawem wartości zwracanych przez bazowe wyrażenie kontenera. |
input_alias IN |
Określa, że input_alias powinien reprezentować zestaw wartości uzyskanych przez iterację wszystkich elementów tablicy każdej tablicy zwracanej przez wyrażenie kontenera bazowego. |
container_expression |
Określa wyrażenie kontenera, które ma być używane do pobierania elementów. |
ROOT |
Określa, że element powinien zostać pobrany z domyślnego, aktualnie połączonego kontenera. |
container_name |
Określa, że element powinien zostać pobrany z dostarczonego kontenera. |
input_alias |
Określa, że element powinien zostać pobrany z innego źródła zdefiniowanego przez podany alias. |
<container_expression> '.' property_name |
Określa, że element powinien zostać pobrany przez uzyskanie dostępu do właściwości property_name. |
<container_expression> '[' "property_name" | array_index ']' |
Określa, że element powinien zostać pobrany przez uzyskanie dostępu do właściwości property_name lub array_index elementu tablicy dla wszystkich elementów pobranych przez określone wyrażenie kontenera. |
Typy zwracane
Zwraca zestaw elementów z określonego źródła.
Przykłady
Ta sekcja zawiera przykłady użycia tej konstrukcji języka zapytań.
Klauzula FROM z aliasem kontenera
W tym przykładzie klauzula FROM służy do określania bieżącego kontenera jako źródła, nadania mu unikatowej nazwy, a następnie aliasu. Alias jest następnie używany do projekcji określonych pól w wynikach zapytania.
SELECT VALUE
p.name
FROM
products p
[
"Joller Kid's Jacket",
"Codlier Kid's Jacket",
...
]
Klauzula FROM z podrootem jako źródłem
W tym przykładzie klauzula FROM może również zmniejszyć źródło do mniejszego podzestawu. Aby wyliczyć tylko poddrzewo w każdym elemencie, podroot może stać się źródłem. Jako źródło można użyć tablicy lub podrootu obiektu.
SELECT VALUE
s
FROM
products.sizes s
[
{
"key": "65",
"description": "6.5",
"order": 0
},
{
"key": "75",
"description": "7.5",
"order": 1
},
...
]
Uwagi
- Wszystkie aliasy podane lub wywnioskowane w
<from_source>(s) muszą być unikatowe. - Jeśli wyrażenie kontenera uzyskuje dostęp do właściwości lub elementów tablicy i ta wartość nie istnieje, ta wartość jest ignorowana i nie jest przetwarzana dalej.
- Wyrażenie kontenera może mieć zakres kontenera lub zakres elementu.
- Wyrażenie jest ograniczone do zakresu kontenera, jeśli bazowe źródło wyrażenia kontenera to
ROOTlubcontainer_name. Takie wyrażenie reprezentuje zestaw elementów pobranych bezpośrednio z kontenera i nie zależy od przetwarzania innych wyrażeń kontenera. - Wyrażenie jest ograniczone do zakresu elementów, jeśli bazowe źródło wyrażenia kontenera zostanie
input_aliaswprowadzone wcześniej w zapytaniu. Takie wyrażenie reprezentuje zestaw elementów uzyskanych przez ocenę wyrażenia kontenera. Ta ocena jest wykonywana w zakresie każdego elementu należącego do zestawu skojarzonego z kontenerem aliasu. Zestaw wynikowy jest związkiem zestawów uzyskanych przez ocenę wyrażenia kontenera dla każdego z elementów w zestawie bazowym.