✓
SQL Lesson 3 done.
You can join tables, keep the rows that don't match with LEFT JOIN, find what's missing, and spot the two traps that catch most people: WHERE after a LEFT JOIN and rows repeated by a join.
What you're learning
JOIN puts two tables side by side, and ON says which rows belong together: FROM orders JOIN customers ON customers.id = orders.customer_id. A plain JOIN keeps only rows that match on both sides. LEFT JOIN keeps every row of the left table and fills the missing side with NULL, which is how you find what's missing: WHERE orders.id IS NULL.
Two traps: a condition on the right table in WHERE turns a LEFT JOIN back into a plain JOIN (put it in the ON), and a join repeats a row once per match, so counts and sums can come out too big (COUNT(DISTINCT …)).