Skip to content
Advertisement

Why use a JOIN clause versus a WHERE condition?

I develop against Oracle databases. When I need to manually write (not use an ORM like hibernate), I use a WHERE condition instead of a JOIN.

for example (this is simplistic just to illustrate the style):

Select *
from customers c, invoices i, shipment_info si
where c.customer_id = i.customer_id
    and i.amount > 999.99 
    and i.invoice_id = si.invoice_id(+)  -- added to show a replacement for a join
order by i.amount, c.name

I learned this style from an OLD oracle DBA. I have since learned that this is not standard SQL syntax. Other than being non-standard and much less database portable, are there any other repercussions to using this format?

Advertisement

Answer

Some people will say that this style is less readable, but that’s a matter of habit. From a performance point of view, it doesn’t matter, since the query optimizer takes care of that.

User contributions licensed under: CC BY-SA
7 People found this is helpful
Advertisement