Create queries with SQL

Completed

A basic SQL query in Azure Cosmos DB for NoSQL would be similar to the same query in any other database platform; it would be composed of a few essential components:

  • The SELECT keyword
  • Either an asterisk to indicate all possible fields or an inclusive list of fields
  • The FROM keyword followed by the data source (container)

Here's a basic query that returns all fields from a container:

SELECT * FROM products

Here's another query that returns only a few fields from a container:

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

One interesting caveat here's that it doesn’t matter what name is used here for the source, as this will reference the source moving forward. You can think of this as a variable. It’s not uncommon to use a single letter from the container name:

SELECT
    p.name, 
    p.price
FROM 
    p

You can use any word or phrase like you would in developer code:

SELECT
    supercalifragilisticexpialidocious.id,
    supercalifragilisticexpialidocious.categoryId
FROM 
    supercalifragilisticexpialidocious

Alternatively, you can alias the data source and use the alias if that’s your preference:

SELECT 
    alternativealias.id, 
    alternativealias.name 
FROM 
    reallyinterestingdatasource alternativealias

We can also filter our queries using the WHERE keyword. In this example, we filter the list of products to those that have a price that is between $50 and $100:

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