在DocumentDB SQL中,SELECT子句还支持标量表达式,如常量,算术表达式,逻辑表达式等.通常,标量查询很少使用,因为它们实际上不查询集合中的文档,而只是计算表达式.但是使用标量表达式查询来学习基础知识,如何在查询中使用表达式和形状JSON仍然有用,这些概念直接适用于您将针对集合中的文档运行的实际查询.
让我们看一个包含多个标量查询的示例.
在查询资源管理器中,只选择要执行的文本,然后单击"运行".让我们先运行第一个.
SELECT "Hello"
执行上面的查询,它会产生以下输出.
[ { "$1": "Hello" } ]
这个输出可能看起来有点令人困惑,所以让我们把它分解.
首先,正如我们在上一个演示中所看到的,查询结果总是包含在方括号中,因为它们作为JSON数组返回,甚至是标量表达式的结果这样的查询只返回一个文档.
我们有一个包含一个文档的数组,该文档中有一个属性用于SELECT语句中的单个表达式.
SELECT语句没有为此属性提供名称,因此DocumentDB会使用$ 1生成一个名称.
这通常不是我们想要的,这就是为什么w e可以使用AS来对查询中的表达式进行别名,该表达式在生成的文档中按照您希望的方式设置属性名称,在此示例中为单词.
SELECT "Hello" AS word
执行上述查询时,它产生以下输出.
[ { "word": "Hello" } ]
同样,以下是另一个简单查询.
SELECT ((2 + 11 % 7)-2)/3
查询检索以下输出.
[ { "$1": 1.3333333333333333 } ]
让我们看看另一个塑造嵌套数组和嵌入对象的例子.
SELECT { "words1": ["Hello", "World"], "words2": ["How", "Are", "You?"] } AS allWords
执行上述查询时,它会产生以下输出.
[ { "allWords": { "words1": [ "Hello", "World" ], "words2": [ "How", "Are", "You?" ] } } ]