Tutoriel : Interroger Azure Cosmos DB à l’aide de l’API SQLTutorial: Query Azure Cosmos DB by using the SQL API

L’API SQL Azure Cosmos DB prend en charge l’interrogation de documents à l’aide de SQL.The Azure Cosmos DB SQL API supports querying documents using SQL. Cet article fournit un exemple de document et deux exemples de requêtes SQL et de résultats.This article provides a sample document and two sample SQL queries and results.

Cet article décrit les tâches suivantes :This article covers the following tasks:

  • Interrogation des données avec SQLQuerying data with SQL

Exemple de documentSample document

L’exemple de document suivant est utilisé pour les interrogations SQL de cet article.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
}

Où puis-je exécuter des requêtes SQL ?Where can I run SQL queries?

Vous pouvez exécuter des requêtes à l’aide de l’Explorateur de données dans le portail Azure, via l’API REST et Kits de développement logiciel (SDK) et même l’interface de requête, qui exécute des requêtes sur un ensemble d’exemples de données existant.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.

Pour plus d’informations sur les requêtes SQL, consultez :For more information about SQL queries, see:

PrérequisPrerequisites

Ce didacticiel suppose que vous ayez un compte et une collection Azure Cosmos DB.This tutorial assumes you have an Azure Cosmos DB account and collection. Cela n’est pas le cas ?Don't have any of those? Procédez au démarrage rapide en 5 minutes.Complete the 5-minute quickstart.

Exemple de requête 1Example query 1

Étant donné l’exemple de document de famille ci-dessus, la requête SQL suivante renvoie les documents où le champ id correspond à WakefieldFamily.Given the sample family document above, following SQL query returns the documents where the id field matches WakefieldFamily. Comme il s’agit d’une instruction SELECT *, le résultat de la requête est le document JSON complet :Since it's a SELECT * statement, the output of the query is the complete JSON document:

RequêteQuery

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

RésultatsResults

{
  "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
}

Exemple de requête 2Example query 2

La requête suivante renvoie tous les noms donnés des enfants de la famille dont l’ID correspond à WakefieldFamily classés par classe.The next query returns all the given names of children in the family whose id matches WakefieldFamily ordered by their grade.

RequêteQuery

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

RésultatsResults

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

Étapes suivantesNext steps

Dans ce tutoriel, vous avez :In this tutorial, you've done the following:

  • Effectuer des interrogations à l’aide de SQLLearned how to query using SQL

Vous pouvez maintenant poursuivre avec le didacticiel suivant montrant comment distribuer vos données globalement.You can now proceed to the next tutorial to learn how to distribute your data globally.