How does Oracle SQL join work internally?
What will be the difference between the way in which the following two join queries would run internally in Oracle SQL?
(A)
Select *
FROM TABLE1
FULL JOIN TABLE2 ON TABLE1.ID = TABLE2.ID
FULL JOIN TABLE3 ON TABLE1.ID = TABLE3.ID
(B)
Select *
FROM TABLE1
FULL JOIN TABLE2 ON TABLE1.ID = TABLE2.ID
FULL JOIN TABLE3 ON TABLE2.ID = TABLE3.ID
Consider some records present in table 2 and table 3 but not in table 1. Query A would give two rows for that record but B would give only one row.