Member summary
- SQL course
- Intermediate
- Lesson 23/115
- 5 min
Write a mixed report with FULL JOIN.
Member summary
To see the full loan history of members you use FULL OUTER JOIN. Members with no loans also appear.
SELECT m.name, l.book_id
FROM members m
FULL OUTER JOIN loans l ON l.member_id = m.id;This query lists all members and loans.
m.name, l.book_id is selected from members m. loans l is joined on l.member_id = m.id, keeping every row of both tables.
Member summary — details
FULL OUTER JOIN keeps both sides. Unmatched members and loans come as NULL.
This way one report shows both members who never borrowed a book and faulty loan records without a member.
Practice Member summary
Join members with loans using FULL OUTER JOIN.
Starter code
-- member summary
SELECT m.name, l.book_id
FROM members mSample solution
SELECT m.name, l.book_id
FROM members m
FULL OUTER JOIN loans l ON l.member_id = m.id;Expected output
name book_id Ayşe 1 Fatma NULL
Questions and answers
Review the lesson questions together with their answers. To test yourself, solve the lesson interactively.
1 Add FULL OUTER JOIN
SELECT m.name, l.book_id
FROM members m
____ loans l ON l.member_id = m.id;
SELECT m.name, l.book_id
FROM members m
FULL OUTER JOIN loans l ON l.member_id = m.id;
Explanation: FULL OUTER JOIN is the right answer.
2 Member summary: match the terms
| Term | Meaning |
|---|---|
members |
member |
loans |
loan |
FULL OUTER |
both |
NULL |
empty |
3 What does FULL OUTER JOIN keep?
- Only the right
- Both sides Correct answer
- Only the left
- Only the matching ones
Explanation: FULL OUTER JOIN keeps both sides.