WHERE záradék (NoSQL-lekérdezés)
A KÖVETKEZŐRE VONATKOZIK: NoSQL
Az opcionális WHERE
záradék (WHERE <filter_condition>
) meghatározza azokat a feltétel(ek)et, amelyeket a forrás JSON-elemeknek teljesíteniük kell ahhoz, hogy a lekérdezés belefoglalja őket az eredményekbe. Egy JSON-elemnek ki kell értékelnie az eredményhez figyelembe venni kívánt feltételeket true
. Az indexréteg a WHERE
záradék használatával határozza meg az eredmény részét képező forráselemek legkisebb részhalmazát.
Szintaxis
WHERE <filter_condition>
<filter_condition> ::= <scalar_expression>
Leírás | |
---|---|
<filter_condition> |
Megadja a visszaadni kívánt elemek teljesüléséhez szükséges feltételt. |
<scalar_expression> |
A kiszámítandó értéket képviselő kifejezés. |
Feljegyzés
További információ a skaláris kifejezésekről: skaláris kifejezések
Példák
Ez az első példa egy egyszerű egyenlőségi lekérdezést használ az elemek egy részhalmazának visszaadásához. Az =
operátor a WHERE
záradékkal egy egyszerű egyenlőségen alapuló szűrő létrehozásához használható.
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"
}
]
Ebben a következő példában egy összetettebb szűrő skaláris kifejezésekből áll.
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
}
]
Ebben az utolsó példában a rendszer egy logikai tulajdonságra mutató tulajdonsághivatkozást használ szűrőként.
SELECT VALUE {
employeeName: e.name,
isPartTime: e.partTime
}
FROM
employees e
WHERE
e.partTime
[
{
"employeeName": "Riley Ramirez",
"isPartTime": true
},
{
"employeeName": "Caleb Foster",
"isPartTime": true
}
]
Megjegyzések
Egy elem visszaadásához a szűrőfeltételként megadott kifejezésnek igaznak kell lennie. Csak a logikai érték
true
felel meg a feltételnek, bármely más értéknek:undefined
, ,null
,false
szám skalár, tömb vagy objektum nem felel meg a feltételnek.Ha a partíciókulcsot egyenlőségszűrő
WHERE
részeként a záradékba is belefoglalja, a lekérdezés automatikusan csak a megfelelő partíciókra szűr.A következő támogatott bináris operátorokat használhatja:
Operátorok Példák Számtan +
,-
,*
,/
,%
Bitenkénti \|
,&
,^
,<<
,>>
>>>
(nulla kitöltésű jobb műszak)Logikus AND
, ,OR
NOT
Összehasonlítás =
,!=
,<
,>
<=
,>=
<>
Sztring \|\|
(összefűzés)