A GraphQL query selects fields from schema types. The server resolves that selection and returns a matching response shape. Screens with different data needs can adjust the query instead of adding a new endpoint for each shape.
In the demo, selecting price alongside name expands both the response tree and payload size. Flexible selection does not make every query cheap or authorized; control depth, complexity, and field access.
When to use
Use it when different screens often need different subsets of the same entities.