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
, ,OR
NOT
Vergelijking =
, ,!=
<
,>
, ,<=
, ,>=
<>
Tekenreeks \|\|
(samenvoegen)