Cláusula WHERE (consulta NoSQL)
APLICA-SE A: NoSQL
A cláusula opcional WHERE
(WHERE <filter_condition>
) especifica a(s) condição(ões) que os itens JSON de origem devem satisfazer para que a consulta os inclua nos resultados. Um item JSON deve avaliar as condições especificadas a true
serem consideradas para o resultado. A camada de índice usa a WHERE
cláusula para determinar o menor subconjunto de itens de origem que podem fazer parte do resultado.
Sintaxe
WHERE <filter_condition>
<filter_condition> ::= <scalar_expression>
Description | |
---|---|
<filter_condition> |
Especifica a condição a ser atendida para os itens a serem devolvidos. |
<scalar_expression> |
Expressão que representa o valor a ser calculado. |
Nota
Para obter mais informações sobre expressões escalares, consulte expressões escalares
Exemplos
Este primeiro exemplo usa uma consulta de igualdade simples para retornar um subconjunto de itens. O =
operador é usado com a WHERE
cláusula para criar um filtro baseado na igualdade simples.
SELECT VALUE {
employeeName: e.name,
currentTeam: e.team
}
FROM
employees e
WHERE
e.team = "Hospitality"
[
{
"employeeName": "Jordan Mitchell",
"currentTeam": "Hospitality"
},
{
"employeeName": "Ashley Schroeder",
"currentTeam": "Hospitality"
},
{
"employeeName": "Tomas Richardson",
"currentTeam": "Hospitality"
}
]
Neste próximo exemplo, um filtro mais complexo é composto por expressões escalares.
SELECT VALUE {
employeeName: e.name,
vacationDaysRemaining: e.vacationDays
}
FROM
employees e
WHERE
e.vacationDays >= 7
[
{
"employeeName": "Ana Bowman",
"vacationDaysRemaining": 10
},
{
"employeeName": "Madison Butler",
"vacationDaysRemaining": 7
}
]
Neste exemplo final, uma referência de propriedade para uma propriedade booleana é usada como filtro.
SELECT VALUE {
employeeName: e.name,
isPartTime: e.partTime
}
FROM
employees e
WHERE
e.partTime
[
{
"employeeName": "Riley Ramirez",
"isPartTime": true
},
{
"employeeName": "Caleb Foster",
"isPartTime": true
}
]
Observações
Para que um item seja retornado, uma expressão especificada como uma condição de filtro deve ser avaliada como verdadeira. Apenas o valor
true
booleano satisfaz a condição, qualquer outro valor:undefined
,null
,false
, um número escalar, uma matriz ou um objeto não satisfaz a condição.Se você incluir sua chave de partição na
WHERE
cláusula como parte de um filtro de igualdade, sua consulta filtrará automaticamente apenas as partições relevantes.Você pode usar os seguintes operadores binários suportados:
Operadores Exemplos Aritmética +
,-
,*
,/
,%
Bitwise \|
,&
,^
,<<
,>>
, (>>>
deslocamento para a direita de preenchimento zero)Lógica AND
,OR
,NOT
Comparação =
,!=
,<
,>
,<=
,>=
,<>
Cadeia \|\|
(concatenar)