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.