Start here. This is the direct spoken answer to practice first.
Why this question matters
Join questions show whether a candidate can reason about result sets instead of memorizing syntax. They also reveal whether API behavior stays intentional when related data is optional.
I would use an inner join when the related row is required for the result to make sense. For example, listing paid invoices with their customer can use an inner join if every invoice must have a customer. I would use a left join when the main row still matters even if the related row is missing, such as listing users with an optional last login record. The choice changes which rows appear, not only which columns appear.