Cláusula WHERE (consulta NoSQL)
SE APLICA A: NoSQL
La cláusula WHERE
opcional (WHERE <filter_condition>
) especifica las condiciones que deben cumplir los elementos JSON de origen para que la consulta los incluya en los resultados. Un elemento JSON debe evaluar que las condiciones especificadas sean true
para que se le tenga en cuenta para el resultado. La capa de índice usa la cláusula WHERE
para determinar el subconjunto menor de elementos de origen que puede formar parte del resultado.
Sintaxis
WHERE <filter_condition>
<filter_condition> ::= <scalar_expression>
Descripción | |
---|---|
<filter_condition> |
Especifica la condición que deberá cumplirse para que se devuelvan los elementos. |
<scalar_expression> |
Expresión que representa el valor que hay que calcular. |
Nota:
Para obtener más información sobre las expresiones escalares, consulte expresiones escalares
Ejemplos
En este primer ejemplo, se usa una consulta de igualdad simple para devolver un subconjunto de elementos. El operador =
se usa con la cláusula WHERE
para crear un filtro basado en la igualdad 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"
}
]
En el ejemplo siguiente, un filtro más complejo se compone de expresiones escalares.
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
}
]
En el ejemplo final, se usa una referencia de propiedad a una propiedad booleana como filtro.
SELECT VALUE {
employeeName: e.name,
isPartTime: e.partTime
}
FROM
employees e
WHERE
e.partTime
[
{
"employeeName": "Riley Ramirez",
"isPartTime": true
},
{
"employeeName": "Caleb Foster",
"isPartTime": true
}
]
Observaciones
Para que se devuelva un elemento, deberá establecerse en true una expresión especificada como condición de filtro. Solo el valor booleano
true
satisface la condición, cualquier otro valor:undefined
,null
,false
, un número escalar, una matriz o un objeto no cumplen la condición.Si incluye la clave de partición en la cláusula
WHERE
como parte de un filtro de igualdad, la consulta se filtra automáticamente para solo las particiones pertinentes.Puede usar los operadores binarios admitidos siguientes:
Operadores Ejemplos Aritméticos +
,-
,,*
,/
%
Bit a bit \|
,&
,^
,<<
, ,>>
,>>>
(desplazamiento derecho de relleno cero)lógicos AND
, ,OR
,NOT
De comparación =
,!=
,<
,>
,<=
, ,>=
<>
String \|\|
(concatenar)