Compartir vía


FROM - Lenguaje de consulta en Cosmos DB (en Azure y Fabric)

La FROM cláusula identifica el origen de datos de una consulta.

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 Especifica un origen de datos, con o sin un alias.
AS input_alias Especifica que el input_alias es un conjunto de valores devueltos por la expresión de contenedor subyacente.
input_alias IN Especifica que el input_alias debe representar el conjunto de valores obtenidos mediante la iteración de todos los elementos de matriz de cada matriz devueltos por la expresión de contenedor subyacente.
container_expression Especifica la expresión de contenedor que se va a usar para recuperar los elementos.
ROOT Especifica que el elemento debe recuperarse del contenedor conectado predeterminado.
container_name Especifica que el elemento se debe recuperar del contenedor proporcionado.
input_alias Especifica que el elemento se debe recuperar del otro origen definido por el alias proporcionado.
<container_expression> '.' property_name Especifica que el elemento debe recuperarse accediendo a la propiedad property_name.
<container_expression> '[' "property_name" | array_index ']' Especifica que el elemento debe recuperarse accediendo a la propiedad property_name o al elemento de matriz array_index para todos los elementos recuperados por la expresión de contenedor especificada.

Tipos de retorno

Devuelve el conjunto de elementos del origen especificado.

Examples

Esta sección contiene ejemplos de cómo usar esta construcción del lenguaje de consulta.

Cláusula FROM con alias de contenedor

En este ejemplo, la FROM cláusula se usa para especificar el contenedor actual como origen, asignarle un nombre único y, a continuación, asignarle un alias. A continuación, el alias se usa para proyectar campos específicos en los resultados de la consulta.

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

Cláusula FROM con subroot como origen

En este ejemplo, la FROM cláusula también puede reducir el origen a un subconjunto más pequeño. Para enumerar solo un subárbol en cada elemento, la subroot puede convertirse en el origen. Una subroot de matriz o objeto se puede usar como origen.

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

Observaciones

  • Todos los alias proporcionados o inferidos en los <from_source>(s) deben ser únicos.
  • Si una expresión de contenedor tiene acceso a propiedades o elementos de matriz y ese valor no existe, ese valor se omite y no se procesa más.
  • Una expresión de contenedor puede tener un ámbito de contenedor o un ámbito de elemento.
  • Una expresión tiene ámbito de contenedor, si el origen subyacente de la expresión de contenedor es ROOT o container_name. Esta expresión representa un conjunto de elementos recuperados directamente del contenedor y no depende del procesamiento de otras expresiones de contenedor.
  • Una expresión tiene ámbito de elemento, si el origen subyacente de la expresión de contenedor se input_alias introduce anteriormente en la consulta. Esta expresión representa un conjunto de elementos obtenidos mediante la evaluación de la expresión de contenedor. Esta evaluación se realiza en el ámbito de cada elemento que pertenece al conjunto asociado al contenedor con alias. El conjunto resultante es una unión de conjuntos obtenidos mediante la evaluación de la expresión de contenedor para cada uno de los elementos del conjunto subyacente.