select a.somefield, b.someotherfield
from a, b
where a.key = b.key
Is the above equivalent to:
select a.somefield, b.someotherfield
from a join b on a.key = b.key
or:
select a.somefield, b.someotherfield
from a full join b on a.key = b.key
I am pretty sure it’s equivalent to an inner join but just realized I’d never really thought about it before. Also I’m wondering if there are any edge cases where it is not 100% equivalent?
The original notion is equivalent to an inner join.
Using the “where” syntax, there is no standard equivalent for any of the outer joins (left outer join, right outer join, full outer join). Oracle supports a “+” syntax, to represent the left and right outer joins.
In addition, leaving out the condition in the where clause is equivalent to a cross join.
However, you should get used to using the join syntax in the from clause. Once you get used to it, it is much clearer about the intentions of the query and much less prone to error.