Bird
Raised Fist0
GraphQLquery~5 mins

Query variables in GraphQL - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What are query variables in GraphQL?
Query variables are placeholders in a GraphQL query that allow you to pass dynamic values separately from the query text. They help make queries reusable and secure.
Click to reveal answer
beginner
How do you declare a variable in a GraphQL query?
You declare variables inside parentheses after the query name, using a dollar sign ($) followed by the variable name and its type, for example: query GetUser($id: ID!).
Click to reveal answer
intermediate
Why use query variables instead of hardcoding values in GraphQL queries?
Using variables keeps queries clean, reusable, and helps prevent injection attacks by separating data from query structure.
Click to reveal answer
beginner
How do you pass values to query variables when sending a GraphQL request?
You pass a separate JSON object with variable names and their values alongside the query. For example: { "id": "123" }.
Click to reveal answer
intermediate
What does the exclamation mark (!) mean in a variable type like $id: ID!?
The exclamation mark means the variable is non-nullable, so you must provide a value for it when running the query.
Click to reveal answer
How do you indicate a variable in a GraphQL query?
AWith a hash (#) before the variable name
BWith a dollar sign ($) before the variable name
CWith an at sign (@) before the variable name
DWith a percent sign (%) before the variable name
Where do you declare variables in a GraphQL query?
AAt the end of the query
BInside the query body
CInside the query name parentheses
DIn the HTTP headers
What type of value does ID! represent in a variable declaration?
AA non-nullable ID
BA nullable ID
CAn optional string
DA list of IDs
How do you pass variable values when sending a GraphQL query?
AAs a separate JSON object alongside the query
BInside the query string
CIn the URL path
DIn the query comments
Why are query variables useful in GraphQL?
AThey speed up the server
BThey make queries longer
CThey allow comments inside queries
DThey make queries reusable and secure
Explain how to use query variables in a GraphQL query from declaration to passing values.
Think about the three steps: declare, use, and pass values.
You got /3 concepts.
    Why is it better to use query variables instead of hardcoding values in GraphQL queries?
    Consider reusability and security benefits.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the main purpose of using query variables in GraphQL?
      easy
      A. To create new types in the GraphQL schema
      B. To define the schema of the GraphQL server
      C. To store query results on the client side
      D. To reuse the same query with different input values

      Solution

      1. Step 1: Understand what query variables do

        Query variables allow you to write a query once and provide different inputs each time you run it.
      2. Step 2: Compare options with this purpose

        Only To reuse the same query with different input values describes reusing queries with different inputs, which matches the purpose of query variables.
      3. Final Answer:

        To reuse the same query with different input values -> Option D
      4. Quick Check:

        Query variables = reuse queries with different inputs [OK]
      Hint: Variables let you change inputs without rewriting queries [OK]
      Common Mistakes:
      • Confusing variables with schema definitions
      • Thinking variables store data permanently
      • Mixing variables with client-side caching
      2. Which of the following is the correct way to declare a variable in a GraphQL query?
      easy
      A. query getUser($id: ID!) { user(id: $id) { name } }
      B. query getUser(id: $ID) { user(id: id) { name } }
      C. query getUser($id) { user(id: id) { name } }
      D. query getUser { user(id: $id) { name } }

      Solution

      1. Step 1: Identify correct variable syntax

        Variables must be declared with a $ sign and a type, e.g., $id: ID! inside parentheses after the query name.
      2. Step 2: Check each option

        query getUser($id: ID!) { user(id: $id) { name } } correctly declares $id: ID! and uses $id inside the query. Others miss type, $ sign, or parentheses.
      3. Final Answer:

        query getUser($id: ID!) { user(id: $id) { name } } -> Option A
      4. Quick Check:

        Variable declaration = $name: Type! in parentheses [OK]
      Hint: Variables need $ and type declared after query name [OK]
      Common Mistakes:
      • Omitting the variable type
      • Using variable without $ inside query
      • Not placing variables in parentheses after query name
      3. Given the query:
      query getBook($bookId: ID!) { book(id: $bookId) { title author } }

      and variables:
      { "bookId": "123" }

      What will the query return if the book with ID 123 has title "GraphQL Guide" and author "Anna"?
      medium
      A. { "data": { "book": null } }
      B. { "data": { "book": { "title": "GraphQL Guide", "author": "Anna" } } }
      C. SyntaxError: Variable not defined
      D. { "errors": [ { "message": "Book not found" } ] }

      Solution

      1. Step 1: Understand the query and variables

        The query asks for a book by ID using variable $bookId. The variable value is "123".
      2. Step 2: Match variable value to data

        The book with ID "123" exists with title "GraphQL Guide" and author "Anna". So the query returns this data.
      3. Final Answer:

        { "data": { "book": { "title": "GraphQL Guide", "author": "Anna" } } } -> Option B
      4. Quick Check:

        Variable value matches book data = correct result [OK]
      Hint: Variables fill query inputs to get matching data [OK]
      Common Mistakes:
      • Assuming variable names are optional
      • Expecting errors when data exists
      • Confusing null with errors
      4. Identify the error in this GraphQL query using variables:
      query getUser($userId: ID) { user(id: userId) { name } }
      medium
      A. Variable userId inside query should have a $ sign
      B. Variable $userId is missing the non-null type indicator
      C. Variables must be declared outside the query
      D. Query name cannot have variables declared

      Solution

      1. Step 1: Check variable usage inside query

        The variable is declared as $userId but inside the query it is used as userId without the $ sign.
      2. Step 2: Correct usage of variables

        Variables must be referenced with the $ sign inside the query fields, so it should be id: $userId.
      3. Final Answer:

        Variable userId inside query should have a $ sign -> Option A
      4. Quick Check:

        Use $ before variable inside query fields [OK]
      Hint: Always use $ before variable inside query body [OK]
      Common Mistakes:
      • Forgetting $ before variable in query
      • Thinking variables declared outside query
      • Confusing variable declaration syntax
      5. You want to write a GraphQL query to fetch a list of books filtered by optional author name using variables. Which query correctly declares the variable and uses it to filter books only if the variable is provided?
      hard
      A. query getBooks($author: String!) { books(author: $author) { title } }
      B. query getBooks { books(author: $author) { title } }
      C. query getBooks($author: String) { books(author: $author) { title } }
      D. query getBooks($author) { books(author: author) { title } }

      Solution

      1. Step 1: Understand optional variable declaration

        To make a variable optional, declare it without the exclamation mark, e.g., $author: String.
      2. Step 2: Check variable usage in query

        Use $author inside the query to filter books. query getBooks($author: String) { books(author: $author) { title } } correctly declares and uses the optional variable.
      3. Step 3: Review other options

        query getBooks($author: String!) { books(author: $author) { title } } makes variable required with !, C uses variable without declaration, D misses type and uses variable incorrectly.
      4. Final Answer:

        query getBooks($author: String) { books(author: $author) { title } } -> Option C
      5. Quick Check:

        Optional variable = no ! and use $ in query [OK]
      Hint: Optional variables omit ! and use $ inside query [OK]
      Common Mistakes:
      • Making optional variables required with !
      • Using variables without declaration
      • Forgetting $ in query usage
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard