IN, NOT IN and BETWEEN QBE Operators
Learn to use QBE operators _in, _nin, and
_between to filter specific data from the car racing dataset through
simple examples.
You can use the _in and the _nin operator
to compare and check if the predicate is present or otherwise in the specified
array.
Example 3-9 _in Operator
SELECT JSON_SERIALIZE(data PRETTY) AS data FROM GRAPHQL('
driver (
check: {
name: {_in: ["Oscar Piastri", "Max Verstappen"]}
}
){
id: driver_id
name
points
}
');
For each row in the driver table, the above example would check if the
name field is one of ["Oscar Piastri", "Max
Verstappen"]. If the outcome is TRUE, then the
corresponding driver details, in this case, id, name,
and points are fetched:
DATA
--------------------------------------------------------------------------------
{
"id" : 105,
"name" : "Max Verstappen",
"points" : 456
}
{
"id" : 102,
"name" : "Oscar Piastri",
"points" : 384
}
2 rows selected._between QBE operator checks if the predicate is in between
the two values specified in the array:
Example 3-10 _between Operator
SELECT JSON_SERIALIZE(data PRETTY) AS data FROM GRAPHQL('
driver (
check: {
points: {_between: [300, 400]}
}
){
id: driver_id
name
points
}
');
This code would access the table driver, checks for those
drivers whose points between
300 and 400, and retrieves their id,
name and points:
DATA
--------------------------------------------------------------------------------
{
"id" : 102,
"name" : "Oscar Piastri",
"points" : 384
}
{
"id" : 103,
"name" : "Charles Leclerc",
"points" : 312
}
{
"id" : 104,
"name" : "Carlos Sainz Jr.",
"points" : 340
}
3 rows selected.