Zelfstudie: Query's uitvoeren in Azure Cosmos DB met behulp van de SQL-API

VAN TOEPASSING OP: SQL-API

De SQL-API van Azure Cosmos DB ondersteunt het opvragen van documenten met behulp van SQL. Dit artikel bevat een voorbeelddocument en twee voorbeelden van SQL-query's en de resultaten daarvan.

Dit artikel behandelt de volgende taken:

  • Gegevens opvragen met behulp van SQL

Voorbeelddocument

In de SQL-query's in dit artikel wordt het volgende voorbeelddocument gebruikt.

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

Waar kan ik SQL-query's uitvoeren?

U kunt query's uitvoeren met behulp van de Data Explorer in de Azure Portal en via de REST API en SDK's.

Meer informatie over SQL-query's vindt u in:

Vereisten

In deze zelfstudie wordt ervan uitgegaan dat u een Azure Cosmos DB-account en een verzameling hebt. Hebt u geen van deze resources? Voltooi de snelstart van 5 minuten.

Voorbeeldquery 1

Op basis van het bovenstaand voorbeelddocument van een familie retourneert de volgende SQL-query de documenten waarin het id-veld gelijk is aan WakefieldFamily. Omdat het een SELECT *-instructie is, is de uitvoer van de query het volledige JSON-document:

Query

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

Results

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

Voorbeeldquery 2

In de volgende query worden alle opgegeven namen geretourneerd van kinderen in de familie van wie de id overeenkomt met WakefieldFamily.

Query

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

Results

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

Volgende stappen

In deze zelfstudie hebt u het volgende gedaan:

  • U hebt geleerd hoe u een query uitvoert met behulp van SQL

U kunt nu doorgaan met de volgende zelfstudie, waarin u leert hoe u uw gegevens globaal distribueert.

Probeert u capaciteitsplanning uit te Azure Cosmos DB? U kunt informatie over uw bestaande databasecluster gebruiken voor capaciteitsplanning.

  • Als u alleen het aantal vcores en servers in uw bestaande databasecluster weet, leest u over het schatten van aanvraageenheden met behulp van vCores of vCCPUs
  • Als u de gebruikelijke aanvraagsnelheden voor uw huidige databaseworkload kent, leest u over het schatten van aanvraageenheden met behulp van Azure Cosmos DB capacity planner