Greater and Less than QBE Operators

Learn to use QBE operators _gt, _gte, _lt and _lte to filter specific data from the car racing dataset through simple examples.

Consider a scenario where you would like to fetch the details of drivers who scored more than 360 points. You can use the QBE operator, ‘_gt’ to achieve this:

Example 3-10 _gt Operator

SELECT JSON_SERIALIZE(data PRETTY) AS data FROM GRAPHQL('
    query {
        driver (
            check: {
                points: {_gt: 360}
            }
        )
        {
            id: driver_id
            name
            points
        }
    }
');

This code would access the table driver, checks for those drivers whose pointsare greater than 360, and retrieves their id, name and points:

DATA
--------------------------------------------------------------------------------
{
  "id" : 102,
  "name" : "Oscar Piastri",
  "points" : 384
}

{
  "id" : 105,
  "name" : "Max Verstappen",
  "points" : 456
}


2 rows selected.

Or you may want to fetch details of all teams. Further, you would like to find the drivers who scored less than or equal to 100 points in each team. The example uses the where clause on a nested table:

Example 3-11 _lte Operator

SELECT JSON_SERIALIZE(data PRETTY) AS data FROM GRAPHQL('
    query {
        team {
            id: team_id
            name
            points
            underPerformingDrivers: driver (
                check: {
                    points: {_lte: 100}
                }
            )
            {
                driverName: name
                points
            }
        }
    }
');

The preceding example would fetch the team’s id, name and points. Then makes a list of under performing drivers in the team who have scored less than or equal to 100 points and displays their name and points with the team’s data:

DATA
--------------------------------------------------------------------
{
  "id" : 301,
  "name" : "McLaren Mercedes",
  "points" : 666,
  "underPerformingDrivers" :
  [
  ]
}

................................
................................

{
  "id" : 309,
  "name" : "Williams Mercedes",
  "points" : 17,
  "underPerformingDrivers" :
  [
    {
      "driverName" : "Alexander Albon",
      "points" : 12
    },
    {
      "driverName" : "Logan Sargeant",
      "points" : 5
    }
  ]
}

{
  "id" : 310,
  "name" : "Kick Sauber Ferrari",
  "points" : 4,
  "underPerformingDrivers" :
  [
    {
      "driverName" : "Valtteri Bottas",
      "points" : 3
    },
    {
      "driverName" : "Zhou Guanyu",
      "points" : 1
    }
  ]
}


10 rows selected.