Share via


WHERE-component (NoSQL-query)

VAN TOEPASSING OP: NoSQL

Met de optionele WHERE component (WHERE <filter_condition>) worden voorwaarden opgegeven waaraan de bron-JSON-items moeten voldoen voor de query om deze in de resultaten op te nemen. Een JSON-item moet de opgegeven voorwaarden evalueren die true moeten worden overwogen voor het resultaat. De indexlaag gebruikt de WHERE component om de kleinste subset van bronitems te bepalen die deel kunnen uitmaken van het resultaat.

Syntaxis

WHERE <filter_condition>  
<filter_condition> ::= <scalar_expression>
Beschrijving
<filter_condition> Hiermee geeft u de voorwaarde waaraan moet worden voldaan voor de items die moeten worden geretourneerd.
<scalar_expression> Expressie die de waarde vertegenwoordigt die moet worden berekend.

Voorbeelden

In dit eerste voorbeeld wordt een eenvoudige gelijkheidsquery gebruikt om een subset van items te retourneren. De = operator wordt gebruikt met de WHERE component om een filter te maken op basis van eenvoudige gelijkheid.

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"
  }
]

In dit volgende voorbeeld bestaat een complexer filter uit scalaire expressies.

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
  }
]

In dit laatste voorbeeld wordt een eigenschapsreferentie naar een booleaanse eigenschap gebruikt als het filter.

SELECT VALUE {
    employeeName: e.name,
    isPartTime: e.partTime
}
FROM
    employees e
WHERE
    e.partTime
[
  {
    "employeeName": "Riley Ramirez",
    "isPartTime": true
  },
  {
    "employeeName": "Caleb Foster",
    "isPartTime": true
  }
]

Opmerkingen

  • Als u een item wilt retourneren, moet een expressie die is opgegeven als filtervoorwaarde, waar evalueren. Alleen de Booleaanse waarde true voldoet aan de voorwaarde, elke andere waarde: undefined, , null, false, een numeriek scalaire waarde, een matrix of een object voldoet niet aan de voorwaarde.

  • Als u uw partitiesleutel in de WHERE component opneemt als onderdeel van een gelijkheidsfilter, wordt uw query automatisch gefilterd op alleen de relevante partities.

  • U kunt de volgende ondersteunde binaire operators gebruiken:

    Operators Voorbeelden
    Rekenkunde +,-,*,,/%
    Bitsgewijze \|, , &^, <<, >>( >>> verschuiving naar rechts op nul)
    Logisch AND, , ORNOT
    Vergelijking =, , !=<, >, , <=, , >=<>
    Tekenreeks \|\|(samenvoegen)