I know it's a fundamental question but again why something like this happening is hard for me to grasp. Let's say we have 3 tables (A,B,C) and they are all has 1-1 relationships. But table B does not contain all values which table A contains. So between them there has to be a left join. So why does below code turns all joins into an inner join and the only inner join exists does not work only between B and C tables? Could you explain it to me?
SELECT A.*
FROM A
LEFT OUTER JOIN B ON B.ID = A.ID
INNER JOIN C ON C.ID = B.ID
This question is not about what outer joins or inner joins can or can not do with values in our tables. It is about while they were used together how sql engine works on them ? Maybe What is the order of execution in here? This is what i was trying to understand. Thank you.