Bird
0
0

Given tables:

hard📝 Application Q9 of 15
SQL - LEFT and RIGHT JOIN
Given tables:
Students:
StudentID | Name
1 | Anna
2 | Ben

Enrollments:
EnrollmentID | StudentID | Course
1001 | 1 | Math
1002 | 3 | Science

How can you use RIGHT JOIN to find all enrollments with student names, including enrollments without matching students?
ASELECT Enrollments.Course, Students.Name FROM Enrollments LEFT JOIN Students ON Enrollments.StudentID = Students.StudentID;
BSELECT Enrollments.Course, Students.Name FROM Enrollments RIGHT JOIN Students ON Enrollments.StudentID = Students.StudentID;
CSELECT Enrollments.Course, Students.Name FROM Students LEFT JOIN Enrollments ON Students.StudentID = Enrollments.StudentID;
DSELECT Enrollments.Course, Students.Name FROM Students RIGHT JOIN Enrollments ON Students.StudentID = Enrollments.StudentID;
Step-by-Step Solution
Solution:
  1. Step 1: Identify right table

    Enrollments is right table to keep all enrollments.
  2. Step 2: Use RIGHT JOIN with Students as left, Enrollments as right

    Students RIGHT JOIN Enrollments ON Students.StudentID = Enrollments.StudentID is correct.
  3. Final Answer:

    SELECT Enrollments.Course, Students.Name FROM Students RIGHT JOIN Enrollments ON Students.StudentID = Enrollments.StudentID; -> Option D
  4. Quick Check:

    RIGHT JOIN keeps all enrollments, unmatched students NULL = SELECT Enrollments.Course, Students.Name FROM Students RIGHT JOIN Enrollments ON Students.StudentID = Enrollments.StudentID; [OK]
Quick Trick: RIGHT JOIN keeps all right table rows, unmatched left columns NULL [OK]
Common Mistakes:
MISTAKES
  • Swapping tables in join
  • Using LEFT JOIN instead of RIGHT JOIN
  • Incorrect ON clause columns

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More SQL Quizzes