問合せ内でのネストされたオブジェクトの指定

GraphQL問合せでネストしたオブジェクトとして指定することで、複数の表から詳細を取得できます。

たとえば、ドライバとチームの詳細を取得する場合は、次の関数内のGraphQL問合せに示すように、driverオブジェクト内にteamオブジェクトをネストできます:
SELECT JSON_SERIALIZE(data PRETTY) AS data FROM GRAPHQL('
    driver {
        id: driver_id
        name
        points
        teamDetails: team {
            teamId: team_id
            teamName: name
            teamPoints: points
        }
    }
');
これにより、ドライバの詳細とそのチームを含む出力が生成されます:
DATA                                                                           
--------------------------------------------------------------------------------
{                                                                              
  "id" : 101,                                                                  
  "name" : "Lando Norris",                                                     
  "points" : 282,                                                              
  "teamDetails" :                                                              
  {                                                                            
    "teamId" : 301,                                                            
    "teamName" : "McLaren Mercedes",                                           
    "teamPoints" : 666                                                         
  }                                                                            
}                                                                              
                                                                                 
{                                                                              
  "id" : 102,                                                                  
  "name" : "Oscar Piastri",                                                    
  "points" : 384,                                                              
  "teamDetails" :                                                              
  {                                                                            
    "teamId" : 301,                                                            
    "teamName" : "McLaren Mercedes",                                           
    "teamPoints" : 666                                                         
  }                                                                            
}                                                                              
                                                                                 
..............
..............
20 rows selected.
または、次のコードを使用して、チームに属するすべてのドライバの詳細を取得できます:
SELECT JSON_SERIALIZE(data PRETTY) AS data FROM GRAPHQL('
    team {
        id: team_id
        name
        points
        drivers: driver {
            driverId: driver_id
            driverName: name
            driverPoints: points
        }
    }
');
この問合せでは、10チームとそのドライバの詳細に対応する10件のエントリが生成されます。
DATA                                                                            
--------------------------------------------------------------------------------
{                                                                               
  "id" : 301,                                                                   
  "name" : "McLaren Mercedes",                                                  
  "points" : 666,                                                               
  "drivers" :                                                                   
  [                                                                             
    {                                                                           
      "driverId" : 101,                                                         
      "driverName" : "Lando Norris",                                            
      "driverPoints" : 282                                                      
    },                                                                          
    {                                                                           
      "driverId" : 102,                                                         
      "driverName" : "Oscar Piastri",                                           
      "driverPoints" : 384                                                      
    }                                                                           
  ]                                                                             
}                                                                               
                                                                                
{                                                                               
  "id" : 302,                                                                   
  "name" : "Ferrari",                                                           
  "points" : 652,                                                               
  "drivers" :                                                                   
  [                                                                             
    {                                                                           
      "driverId" : 103,                                                         
      "driverName" : "Charles Leclerc",                                         
      "driverPoints" : 312                                                      
    },                                                                          
    {                                                                           
      "driverId" : 104,                                                         
      "driverName" : "Carlos Sainz Jr.",                                        
      "driverPoints" : 340                                                      
    }                                                                           
  ]                                                                             
}              
.................
.................
10 rows selected.