WHERE-Klausel (NoSQL-Abfrage)
GILT FÜR: NoSQL
Die optionale WHERE
-Klausel (WHERE <filter_condition>
) gibt Bedingungen an, die die JSON-Elemente in der Quelle erfüllen müssen, damit sie von der Abfrage in die Ergebnisse einbezogen werden. Ein JSON-Element muss die angegebenen Bedingungen erfüllen (true
), um für das Ergebnis berücksichtigt zu werden. Die Indexebene verwendet die WHERE
-Klausel zum Ermitteln der kleinsten Teilmenge von Quellelementen, die Teil des Ergebnisses sein können.
Syntax
WHERE <filter_condition>
<filter_condition> ::= <scalar_expression>
Beschreibung | |
---|---|
<filter_condition> |
Gibt die Bedingung an, die erfüllt sein muss, damit die Elemente zurückgegeben werden. |
<scalar_expression> |
Ausdruck, der den zu berechnenden Wert darstellt. |
Hinweis
Weitere Informationen zu Skalarausdrücken finden Sie unter Skalarausdrücke.
Beispiele
In diesem ersten Beispiel wird mithilfe einer einfachen Gleichheitsabfrage eine Teilmenge von Elementen zurückgegeben. Der Operator =
wird bei der WHERE
-Klausel verwendet, um einen Filter basierend auf einfacher Gleichheit zu erstellen.
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 diesem nächsten Beispiel besteht ein komplexerer Filter aus Skalarausdrücken.
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 diesem letzten Beispiel wird ein Eigenschaftsverweis auf eine boolesche Eigenschaft als Filter verwendet.
SELECT VALUE {
employeeName: e.name,
isPartTime: e.partTime
}
FROM
employees e
WHERE
e.partTime
[
{
"employeeName": "Riley Ramirez",
"isPartTime": true
},
{
"employeeName": "Caleb Foster",
"isPartTime": true
}
]
Hinweise
Damit ein Element zurückgegeben wird, muss ein als Filterbedingung angegebener Ausdruck mit „true“ ausgewertet werden. Nur der boolesche Wert
true
erfüllt die Bedingung; alle anderen Werte –undefined
,null
,false
, ein Zahlenskalar, ein Array oder ein Objekt – erfüllen sie nicht.Wenn Sie Ihren Partitionsschlüssel in die
WHERE
-Klausel als Teil eines Gleichheitsfilters einbeziehen, filtert Ihre Abfrage automatisch nur nach den relevanten Partitionen.Sie können die folgenden unterstützten binären Operatoren verwenden:
Operatoren Beispiele Arithmetik +
,-
,,*
,/
%
Bitweise \|
,&
,^
,<<
,>>
,>>>
(Null-Füllung nach rechts)Logisch AND
,OR
NOT
Vergleich =
, ,!=
<
,>
,<=
, ,>=
<>
Zeichenfolge \|\|
(verketten)