Cláusula WHERE (consulta NoSQL)
APLICA-SE A: NoSQL
A cláusula WHERE
opcional (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. Os itens JSON devem avaliar as condições especificadas como true
para serem considerados para os resultados. A camada de índice usa a cláusula WHERE
para determinar o menor subconjunto de itens de origem que podem fazer parte do resultado.
Sintaxe
WHERE <filter_condition>
<filter_condition> ::= <scalar_expression>
Descrição | |
---|---|
<filter_condition> |
Especifica a condição que deve ser atendida para que os itens sejam devolvidos. |
<scalar_expression> |
Expressão que representa o valor a ser calculado. |
Observação
Para obter mais informações sobre expressões escalares, consulte expressões escalares
Exemplos
Esse primeiro exemplo usa uma consulta de igualdade simples para retornar um subconjunto de itens. O operador =
é usado com a cláusula WHERE
para criar um filtro baseado em 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 de 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 a 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
}
]
Comentários
Para que um item seja retornado, uma expressão especificada como uma condição de filtro deve ser avaliada como verdadeira. Somente o valor booleano
true
satisfaz a condição; qualquer outro valor:undefined
,null
,false
, um número escalar, uma matriz ou um objeto não satisfazem a condição.Se você incluir sua chave de partição na cláusula
WHERE
como parte de um filtro de igualdade, sua consulta será filtrada automaticamente apenas para as partições relevantes.Você pode usar os seguintes operadores binários com suporte:
Operadores Exemplos Aritmética +
,-
,*
,/
,%
Bit a bit \|
,&
,^
,<<
,>>
,>>>
(deslocamento à direita de preenchimento zero)Lógico AND
,OR
,NOT
Comparação =
,!=
,<
,>
,<=
,>=
, ,<>
Cadeia de caracteres \|\|
(concatenar)