2
votes

I am using Azure DocumentDB. I only have one collection with heterogenous document types. I am using a type parameter to distinguish between different document types. I am making use of their SQL-like query language to get documents as follows:

SELECT * FROM Collection c WHERE c.ID = 123

I am getting my connection information, including the Endpoint URI, AuthKey, Database name and Collection name, from a configuration file. It seems like I can use any value for "Collection c" and it essentially just becomes an alias for the whole collection. So what is the point of the FROM section of my query?

1

1 Answers

4
votes

I think you already got it :)

FROM allows you to set an alias to refer to the collection in other clauses. This may make more sense to you when you include multiple references (e.g. using a JOIN to form a cross-product with nested array elements).

For example:

SELECT food.description, tag.name
FROM food
JOIN tag IN food.tags
WHERE food.id = "09052"

In the query above, we are using referencing both the collection as well as nested array elements within a projection.

You can try this query out on the query demo website.