FROM - Bahasa kueri di Cosmos DB (di Azure dan Fabric)

Klausa FROM mengidentifikasi sumber data untuk kueri.

Syntax

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 Menentukan sumber data, dengan atau tanpa alias.
AS input_alias Menentukan bahwa input_alias adalah sekumpulan nilai yang dikembalikan oleh ekspresi kontainer yang mendasar.
input_alias IN Menentukan bahwa input_alias harus mewakili kumpulan nilai yang diperoleh dengan mengulangi semua elemen array dari setiap array yang dikembalikan oleh ekspresi kontainer yang mendasar.
container_expression Menentukan ekspresi kontainer yang akan digunakan untuk mengambil item.
ROOT Menentukan bahwa item harus diambil dari kontainer default yang saat ini tersambung.
container_name Menentukan bahwa item harus diambil dari kontainer yang disediakan.
input_alias Menentukan bahwa item harus diambil dari sumber lain yang ditentukan oleh alias yang disediakan.
<container_expression> '.' property_name Menentukan bahwa item harus diambil dengan mengakses properti property_name.
<container_expression> '[' "property_name" | array_index ']' Menentukan bahwa item harus diambil dengan mengakses properti property_name atau elemen array array_index untuk semua item yang diambil oleh ekspresi kontainer tertentu.

Tipe pengembalian

Mengembalikan kumpulan item dari sumber yang ditentukan.

Examples

Bagian ini berisi contoh cara menggunakan konstruksi bahasa kueri ini.

Klausa FROM dengan alias kontainer

Dalam contoh ini, FROM klausul digunakan untuk menentukan kontainer saat ini sebagai sumber, memberinya nama yang unik, lalu alias. Alias kemudian digunakan untuk memproyeksikan bidang tertentu dalam hasil kueri.

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

Klausa FROM dengan subroot sebagai sumber

Dalam contoh ini, FROM klausa juga dapat mengurangi sumber ke subset yang lebih kecil. Untuk menghitung hanya subtree di setiap item, subroot dapat menjadi sumbernya. Array atau subroot objek dapat digunakan sebagai sumber.

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

Komentar

  • Semua alias yang disediakan atau disimpulkan <from_source>dalam (s) harus unik.
  • Jika ekspresi kontainer mengakses properti atau elemen array dan nilai tersebut tidak ada, nilai tersebut diabaikan dan tidak diproses lebih lanjut.
  • Ekspresi kontainer mungkin terlingkup dalam kontainer atau terlingkup item.
  • Ekspresi berlingkup kontainer, jika sumber ekspresi kontainer yang mendasar adalah ROOT atau container_name. Ekspresi seperti itu mewakili sekumpulan item yang diambil dari kontainer secara langsung, dan tidak bergantung pada pemrosesan ekspresi kontainer lainnya.
  • Ekspresi dilingkup item, jika sumber ekspresi input_alias kontainer yang mendasar diperkenalkan sebelumnya dalam kueri. Ekspresi seperti itu mewakili sekumpulan item yang diperoleh dengan mengevaluasi ekspresi kontainer. Evaluasi ini dilakukan dalam cakupan setiap item milik set yang terkait dengan kontainer alias. Kumpulan yang dihasilkan adalah penyatuan set yang diperoleh dengan mengevaluasi ekspresi kontainer untuk setiap item dalam set yang mendasar.