Compartilhar via


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)