Tutorial: Consulta de Azure Cosmos DB mediante la API de SQLTutorial: Query Azure Cosmos DB by using the SQL API

La API de SQL de Azure Cosmos DB admite la consulta de documentos mediante SQL.The Azure Cosmos DB SQL API supports querying documents using SQL. En este artículo se proporciona un documento de ejemplo y dos consultas SQL de ejemplo y los resultados.This article provides a sample document and two sample SQL queries and results.

En este artículo se tratan las tareas siguientes:This article covers the following tasks:

  • Consulta de datos con SQLQuerying data with SQL

Documento de ejemploSample document

En las consultas SQL de este artículo se usa el documento de ejemplo siguiente.The SQL queries in this article use the following sample document.

{
  "id": "WakefieldFamily",
  "parents": [
      { "familyName": "Wakefield", "givenName": "Robin" },
      { "familyName": "Miller", "givenName": "Ben" }
  ],
  "children": [
      {
        "familyName": "Merriam", 
        "givenName": "Jesse", 
        "gender": "female", "grade": 1,
        "pets": [
            { "givenName": "Goofy" },
            { "givenName": "Shadow" }
        ]
      },
      { 
        "familyName": "Miller", 
         "givenName": "Lisa", 
         "gender": "female", 
         "grade": 8 }
  ],
  "address": { "state": "NY", "county": "Manhattan", "city": "NY" },
  "creationDate": 1431620462,
  "isRegistered": false
}

¿Dónde puedo ejecutar consultas SQL?Where can I run SQL queries?

Puede ejecutar consultas mediante el Explorador de datos en Azure Portal, a través de la API de REST y los SDK e incluso el Query playground (Área de consultas), que ejecuta consultas sobre un conjunto existente de datos de ejemplo.You can run queries using the Data Explorer in the Azure portal, via the REST API and SDKs, and even the Query playground, which runs queries on an existing set of sample data.

Para obtener más información sobre las consultas SQL, vea:For more information about SQL queries, see:

Requisitos previosPrerequisites

En este tutorial se da por supuesto que tiene una colección y una cuenta de Azure Cosmos DB.This tutorial assumes you have an Azure Cosmos DB account and collection. ¿No tiene nada de lo anterior?Don't have any of those? Complete el inicio rápido de 5 minutos.Complete the 5-minute quickstart.

Consulta 1 de ejemploExample query 1

Dado el documento de familia de ejemplo anterior, la consulta SQL siguiente devuelve los documentos donde el campo Id. coincide con WakefieldFamily.Given the sample family document above, following SQL query returns the documents where the id field matches WakefieldFamily. Puesto que es una instrucción SELECT *, la salida de la consulta es el documento JSON completo:Since it's a SELECT * statement, the output of the query is the complete JSON document:

ConsultarQuery

SELECT * 
FROM Families f 
WHERE f.id = "WakefieldFamily"

ResultadosResults

{
  "id": "WakefieldFamily",
  "parents": [
      { "familyName": "Wakefield", "givenName": "Robin" },
      { "familyName": "Miller", "givenName": "Ben" }
  ],
  "children": [
      {
        "familyName": "Merriam", 
        "givenName": "Jesse", 
        "gender": "female", "grade": 1,
        "pets": [
            { "givenName": "Goofy" },
            { "givenName": "Shadow" }
        ]
      },
      { 
        "familyName": "Miller", 
         "givenName": "Lisa", 
         "gender": "female", 
         "grade": 8 }
  ],
  "address": { "state": "NY", "county": "Manhattan", "city": "NY" },
  "creationDate": 1431620462,
  "isRegistered": false
}

Consulta 2 de ejemploExample query 2

La consulta siguiente devuelve todos los nombres proporcionados de los elementos secundarios de la familia cuyo id. coincida con WakefieldFamily, ordenados por su grado.The next query returns all the given names of children in the family whose id matches WakefieldFamily ordered by their grade.

ConsultarQuery

SELECT c.givenName 
FROM Families f 
JOIN c IN f.children 
WHERE f.id = 'WakefieldFamily'

ResultadosResults

[ { "givenName": "Jesse" }, { "givenName": "Lisa" } ][ { "givenName": "Jesse" }, { "givenName": "Lisa" } ]

Pasos siguientesNext steps

En este tutorial, ha hecho lo siguiente:In this tutorial, you've done the following:

  • Ha obtenido información sobre cómo realizar consultas con SQLLearned how to query using SQL

Ahora puede continuar con el tutorial siguiente para obtener información sobre cómo distribuir sus datos globalmente.You can now proceed to the next tutorial to learn how to distribute your data globally.