Learning about joins and I understand the difference in what inner joins and left joins do, returns rows when there is a match in both tables, and left join returns all rows from the left table, even if there are no matches in the right table. I get that.
however in this example i am following along with, how they make the join confuses me:
select * from person join car on person.car_id = car.car_id;
gives me every person in the db that has a car_id value that isnt null.
select * from person left join car on car.car_id = person.car_id;
gives me every person in the db, regardless including those with a null car_id value;
what I dont get, are why these two statements are identical (apart from the left join) but these two values are inversed:
inner join: car on person.car_id = car.car_id;
left join: car on car.car_id = person.car_id;
can someone offer me a clear explanation as to why these statements are swapped about in the inner and left joins?