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)