Bird
0
0

You want to list all employees with their highest sale amount. Which query correctly uses a scalar subquery?

hard📝 Application Q8 of 15
PostgreSQL - Subqueries in PostgreSQL
You want to list all employees with their highest sale amount. Which query correctly uses a scalar subquery?
ASELECT e.name, (SELECT MAX(amount) FROM sales WHERE employee_id = e.id) AS max_sale FROM employees e;
BSELECT e.name, MAX(amount) FROM sales WHERE employee_id = e.id FROM employees e;
CSELECT e.name, (SELECT amount FROM sales) AS max_sale FROM employees e;
DSELECT e.name, MAX(amount) FROM sales GROUP BY e.name;
Step-by-Step Solution
Solution:
  1. Step 1: Understand the requirement

    We want each employee's highest sale amount, so we need a scalar subquery per employee.
  2. Step 2: Analyze options

    SELECT e.name, (SELECT MAX(amount) FROM sales WHERE employee_id = e.id) AS max_sale FROM employees e; correctly uses a correlated scalar subquery to get MAX(amount) per employee.
  3. Final Answer:

    SELECT e.name, (SELECT MAX(amount) FROM sales WHERE employee_id = e.id) AS max_sale FROM employees e; -> Option A
  4. Quick Check:

    Correlated scalar subquery returns one value per employee [OK]
Quick Trick: Use correlated scalar subqueries to get per-row single values [OK]
Common Mistakes:
  • Misplacing FROM clauses
  • Not correlating subquery with outer query
  • Using aggregate without GROUP BY properly

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More PostgreSQL Quizzes