Erstellen von Abfragen mit NoSQL

Abgeschlossen

Eine einfache SQL-Abfrage in Azure Cosmos DB for NoSQL ähnelt der gleichen Abfrage in jeder anderen Datenbankplattform. Sie besteht aus einigen wesentlichen Komponenten:

  • dem SELECT-Schlüsselwort
  • Entweder ein Sternchen zum Angeben aller möglichen Felder oder eine inklusive Liste von Feldern
  • Das FROM Schlüsselwort, gefolgt von der Datenquelle (Container)

Hier ist eine einfache Abfrage, die alle Felder aus einem Container zurückgibt:

SELECT * FROM products

Hier ist eine andere Abfrage, die nur einige Felder aus einem Container zurückgibt:

SELECT 
    products.id, 
    products.name, 
    products.price, 
    products.categoryName 
FROM 
    products

Eine interessante Einschränkung hier ist, dass es nicht egal ist, welcher Name hier für die Quelle verwendet wird, da diese Quelle auf die Quelle verweist, die vorwärts geht. Sie können sich diese Quelle als Variable vorstellen. Es ist nicht ungewöhnlich, einen einzelnen Buchstaben aus dem Containernamen zu verwenden:

SELECT
    p.name, 
    p.price
FROM 
    p

Sie können ein beliebiges Wort oder einen beliebigen Ausdruck wie in Entwicklercode verwenden:

SELECT
    supercalifragilisticexpialidocious.id,
    supercalifragilisticexpialidocious.categoryId
FROM 
    supercalifragilisticexpialidocious

Alternativ können Sie die Datenquelle aliasen und bei Bedarf den Alias verwenden:

SELECT 
    alternativealias.id, 
    alternativealias.name 
FROM 
    reallyinterestingdatasource alternativealias

Wir können unsere Abfragen auch mithilfe des WHERE-Schlüsselworts filtern. In diesem Beispiel filtern wir die Liste der Produkte auf diese Produkte, die einen Preis haben, der zwischen 50 $ und 100 $ liegt:

SELECT
    p.name, 
    p.categoryName,
    p.price
FROM 
    products p
WHERE
    p.price >= 50 AND
    p.price <= 100