Query exactly the data you need — schema-first design, resolvers, subscriptions, and the N+1 problem.
Five passes over the same idea, each from a different angle. Do them in order, or jump to whichever you need.
GraphQL provides a type system for your API with a single endpoint. Clients request exactly the fields they need, solving over/under-fetching. Key concepts: schema definition, resolvers, mutations, subscriptions, DataLoader (N+1 batching), fragments, and federation for microservices.