Bird
0
0

You want to find departments where the average employee salary is higher than the company-wide average. Which query correctly uses a correlated subquery to achieve this?

hard📝 Application Q8 of 15
PostgreSQL - Subqueries in PostgreSQL
You want to find departments where the average employee salary is higher than the company-wide average. Which query correctly uses a correlated subquery to achieve this?
ASELECT d.name FROM departments d WHERE (SELECT AVG(salary) FROM employees e) > (SELECT AVG(salary) FROM employees WHERE department_id = d.id);
BSELECT d.name FROM departments d WHERE (SELECT AVG(salary) FROM employees e WHERE e.department_id = d.id) > (SELECT AVG(salary) FROM employees);
CSELECT d.name FROM departments d WHERE (SELECT AVG(salary) FROM employees) > (SELECT AVG(salary) FROM employees e WHERE e.department_id = d.id);
DSELECT d.name FROM departments d WHERE AVG(salary) > (SELECT AVG(salary) FROM employees);
Step-by-Step Solution
Solution:
  1. Step 1: Understand the requirement

    We compare each department's average salary to the overall average salary.
  2. Step 2: Check query correctness

    SELECT d.name FROM departments d WHERE (SELECT AVG(salary) FROM employees e WHERE e.department_id = d.id) > (SELECT AVG(salary) FROM employees); correctly uses a correlated subquery for department average and independent subquery for company average.
  3. Final Answer:

    SELECT d.name FROM departments d WHERE (SELECT AVG(salary) FROM employees e WHERE e.department_id = d.id) > (SELECT AVG(salary) FROM employees); -> Option B
  4. Quick Check:

    Correct correlated comparison query = SELECT d.name FROM departments d WHERE (SELECT AVG(salary) FROM employees e WHERE e.department_id = d.id) > (SELECT AVG(salary) FROM employees); [OK]
Quick Trick: Use correlated subquery for per-department average, independent for overall. [OK]
Common Mistakes:
  • Using aggregate without subquery in WHERE.
  • Swapping comparison sides incorrectly.
  • Misplacing correlation in subqueries.

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More PostgreSQL Quizzes