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-5 _gt Operator

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

This code would access the table driver, checks for those drivers whose points are 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 check clause on a nested table:

Example 3-6 _lte Operator

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

The above 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.