Bird
0
0

Given an employees table with columns id, name, and manager_id, which SQL query correctly lists each employee's name alongside their manager's name using a self join?

easy📝 Syntax Q3 of 15
SQL - Advanced Joins
Given an employees table with columns id, name, and manager_id, which SQL query correctly lists each employee's name alongside their manager's name using a self join?
ASELECT e.name, m.name AS manager_name FROM employees e JOIN employees m ON e.id = m.id;
BSELECT e.name, m.name AS manager_name FROM employees e JOIN employees m ON e.id = m.manager_id;
CSELECT e.name, m.name AS manager_name FROM employees e JOIN employees m ON e.manager_id = m.manager_id;
DSELECT e.name, m.name AS manager_name FROM employees e JOIN employees m ON e.manager_id = m.id;
Step-by-Step Solution
Solution:
  1. Step 1: Understand the relationship

    The manager_id in the employee row refers to the id of their manager.
  2. Step 2: Use self join on correct keys

    Join employees e with employees m where e.manager_id = m.id to get manager's name.
  3. Final Answer:

    SELECT e.name, m.name AS manager_name FROM employees e JOIN employees m ON e.manager_id = m.id; -> Option D
  4. Quick Check:

    Manager's id matches employee's manager_id [OK]
Quick Trick: Join on employee.manager_id = manager.id [OK]
Common Mistakes:
MISTAKES
  • Joining on employee.id = manager.manager_id reverses the relationship
  • Joining on manager_id = manager_id compares wrong columns
  • Joining on employee.id = manager.id returns only same employees

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More SQL Quizzes