Share via


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, falseszá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ámtani +,-,*,/,%
    Bitenkénti \|, &, ^, <<, >>>>>(nulla kitöltésű jobb műszak)
    Logikai AND, , ORNOT
    Összehasonlítás =, !=, <, ><=, >=<>
    Sztring \|\|(összefűzés)