KLAUZULA WHERE (zapytanie NoSQL)
DOTYCZY: NoSQL
Klauzula opcjonalna WHERE
(WHERE <filter_condition>
) określa warunki, które źródłowe elementy JSON muszą spełniać, aby zapytanie uwzględniało je w wynikach. Element JSON musi ocenić określone warunki, które true
mają być brane pod uwagę w wyniku. Warstwa indeksu używa klauzuli WHERE
, aby określić najmniejszy podzestaw elementów źródłowych, które mogą być częścią wyniku.
Składnia
WHERE <filter_condition>
<filter_condition> ::= <scalar_expression>
opis | |
---|---|
<filter_condition> |
Określa warunek, który ma zostać spełniony, aby elementy do zwrócenia. |
<scalar_expression> |
Wyrażenie reprezentujące wartość do obliczenia. |
Uwaga
Aby uzyskać więcej informacji na temat wyrażeń skalarnych, zobacz wyrażenia skalarne
Przykłady
W tym pierwszym przykładzie użyto prostego zapytania równości w celu zwrócenia podzestawu elementów. Operator =
jest używany z klauzulą w celu utworzenia filtru WHERE
na podstawie prostej równości.
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"
}
]
W następnym przykładzie bardziej złożony filtr składa się z wyrażeń skalarnych.
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
}
]
W tym ostatnim przykładzie jako filtr jest używane odwołanie do właściwości logicznej.
SELECT VALUE {
employeeName: e.name,
isPartTime: e.partTime
}
FROM
employees e
WHERE
e.partTime
[
{
"employeeName": "Riley Ramirez",
"isPartTime": true
},
{
"employeeName": "Caleb Foster",
"isPartTime": true
}
]
Uwagi
Aby element został zwrócony, wyrażenie określone jako warunek filtru musi mieć wartość true. Tylko wartość
true
logiczna spełnia warunek, dowolną inną wartość:undefined
,null
,false
, skalarną liczbę, tablicę lub obiekt nie spełnia warunku.Jeśli klucz partycji zostanie uwzględniny w klauzuli jako
WHERE
część filtru równości, zapytanie automatycznie filtruje tylko odpowiednie partycje.Możesz użyć następujących obsługiwanych operatorów binarnych:
Operatory Przykłady Arytmetyka +
,-
,*
,/
,%
Bitowe \|
,&
, ,<<
^
, ,>>>
>>
(przesunięcie w prawo od zera)Logiczny AND
, ,OR
NOT
Porównanie =
,!=
, ,<
,>
,<=
, ,>=
<>
ciąg \|\|
(połącz)