Bird
0
0

Given tables:

hard📝 Application Q9 of 15
SQL - Subqueries
Given tables:
employees(emp_id, name, manager_id)
Write a query to find employees who have the same manager as employee with emp_id = 5. Which query correctly uses a subquery in the WHERE clause?
ASELECT name FROM employees WHERE manager_id = (SELECT manager_id FROM employees WHERE emp_id = 5) AND emp_id != 5;
BSELECT name FROM employees WHERE emp_id IN (SELECT emp_id FROM employees WHERE manager_id = 5);
CSELECT name FROM employees WHERE manager_id IN (SELECT emp_id FROM employees WHERE emp_id = 5);
DSELECT name FROM employees WHERE manager_id = 5;
Step-by-Step Solution
Solution:
  1. Step 1: Identify manager of employee 5

    The subquery finds the manager_id of employee with emp_id = 5.
  2. Step 2: Select employees with same manager excluding employee 5

    Main query selects employees with that manager_id but excludes emp_id 5.
  3. Step 3: Check other options

    SELECT name FROM employees WHERE emp_id IN (SELECT emp_id FROM employees WHERE manager_id = 5); incorrectly uses emp_id in subquery. SELECT name FROM employees WHERE manager_id IN (SELECT emp_id FROM employees WHERE emp_id = 5); mismatches columns. SELECT name FROM employees WHERE manager_id = 5; selects employees managed by 5, not same manager as 5.
  4. Final Answer:

    SELECT name FROM employees WHERE manager_id = (SELECT manager_id FROM employees WHERE emp_id = 5) AND emp_id != 5; -> Option A
  5. Quick Check:

    Subquery finds manager_id to filter employees [OK]
Quick Trick: Use subquery to find manager_id, then filter employees by it [OK]
Common Mistakes:
MISTAKES
  • Confusing manager_id with emp_id in subquery
  • Not excluding employee 5 from results
  • Using IN incorrectly with emp_id

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More SQL Quizzes