You have tables: Students(student_id, name) Enrollments(student_id, course_id) Courses(course_id, course_name) Write a query to list student names with their course names using INNER JOINs.
ASELECT Students.name, Courses.course_name FROM Students INNER JOIN Enrollments ON Students.student_id = Enrollments.student_id INNER JOIN Courses ON Enrollments.course_id = Courses.course_id;
BSELECT Students.name, Courses.course_name FROM Students JOIN Courses ON Students.student_id = Courses.course_id;
CSELECT Students.name, Courses.course_name FROM Students INNER JOIN Enrollments ON Students.student_id = Courses.course_id;
DSELECT Students.name, Courses.course_name FROM Students INNER JOIN Enrollments INNER JOIN Courses ON Students.student_id = Enrollments.student_id;
Step-by-Step Solution
Solution:
Step 1: Understand table relationships
Students link to Enrollments by student_id; Enrollments link to Courses by course_id.
Step 2: Build correct INNER JOIN chain
SELECT Students.name, Courses.course_name FROM Students INNER JOIN Enrollments ON Students.student_id = Enrollments.student_id INNER JOIN Courses ON Enrollments.course_id = Courses.course_id; correctly joins Students to Enrollments, then Enrollments to Courses using matching keys.
Step 3: Evaluate incorrect options
The other options have wrong join conditions or missing ON clauses.
Final Answer:
SELECT Students.name, Courses.course_name FROM Students INNER JOIN Enrollments ON Students.student_id = Enrollments.student_id INNER JOIN Courses ON Enrollments.course_id = Courses.course_id; -> Option A
Quick Check:
Chain INNER JOINs on correct keys for multi-table joins [OK]
Quick Trick:Chain INNER JOINs using correct keys for multi-table queries [OK]
Common Mistakes:
MISTAKES
Joining unrelated columns
Omitting ON clause in multi-joins
Incorrect join order causing errors
Master "INNER JOIN" in SQL
9 interactive learning modes - each teaches the same concept differently