Clause WHERE (requête NoSQL)
S’APPLIQUE À : NoSQL
La clause WHERE
facultative (WHERE <filter_condition>
) spécifie la ou les conditions que les éléments JSON source doivent satisfaire pour que la requête les inclue dans les résultats. Un élément JSON doit évaluer les conditions spécifiées comme étant égales à true
pour être pris en considération pour le résultat. La couche d'indexation utilise la clause WHERE
pour déterminer le plus petit sous-ensemble d'éléments source pouvant faire partie du résultat.
Syntaxe
WHERE <filter_condition>
<filter_condition> ::= <scalar_expression>
Description | |
---|---|
<filter_condition> |
Spécifie la condition à remplir pour que les éléments soient renvoyés. |
<scalar_expression> |
Expression représentant la valeur à calculer. |
Notes
Pour plus d'informations sur les expressions scalaires, voir Expressions scalaires
Exemples
Ce premier exemple utilise une requête d'égalité simple pour renvoyer un sous-ensemble d'éléments. L'opérateur =
est utilisé avec la clause WHERE
pour créer un filtre basé sur l'égalité simple.
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"
}
]
Dans cet exemple suivant, un filtre plus complexe est composé d'expressions scalaires.
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
}
]
Dans ce dernier exemple, une référence de propriété à une propriété booléenne est utilisée comme filtre.
SELECT VALUE {
employeeName: e.name,
isPartTime: e.partTime
}
FROM
employees e
WHERE
e.partTime
[
{
"employeeName": "Riley Ramirez",
"isPartTime": true
},
{
"employeeName": "Caleb Foster",
"isPartTime": true
}
]
Notes
Pour qu'un élément soit renvoyé, une expression spécifiée comme condition de filtre doit avoir la valeur true. Seule la valeur booléenne
true
satisfait la condition, toute autre valeur :undefined
,null
,false
un nombre scalaire, un tableau ou un objet ne satisfait pas la condition.Si vous incluez votre clé de partition dans la clause
WHERE
dans le cadre d'un filtre d'égalité, votre requête filtre automatiquement uniquement les partitions pertinentes.Vous pouvez utiliser les opérateurs binaires pris en charge suivants :
Opérateurs Exemples Arithmétiques +
,-
,*
,/
,%
Au niveau du bit \|
,&
,^
,<<
,>>
>>>
(décalage droit de remplissage zéro)Opérateurs logiques AND
, ,OR
NOT
Comparaison =
,!=
, ,>
<
,<=
, ,>=
,<>
Chaîne \|\|
(concaténer)