Is it true that no matter which type of join you use, if your WHERE clause checks one table's pk = other table's fk, it becomes same as an inner join as far as the result set is conncerned? In other words, if your sql query has some stuff like:
"Select ... from A Left join B On (...) E, F Full Outer Join G on (A.pk = G.fk) ... WHERE A.pk = G.fk and A.pk = B.fk and etc..."
In the above query, A is left-joined to B, whereas G is outer-joined to A on its fk. But as the where clause has the two checks, so the whole query reduces to something like:
"Select ... from A INNER JOIN B On (...) E, F INNER Join G on (A.pk = G.fk) ... WHERE etc ..." ?
The reason for asking this query is that I have many cartesian-type joins along with where clauses that are on one table's pk = other table's fk, that are slowing the query down. I was thinking of replacing the cartesian products with either Left Joins combined with keeping all the where clauses, or all Inner Joins.