Currently what I do on Oracle 8i is I create the stuff like joins, complex updates and some others as DataBase Proceedures. Then I can call them inside my SQL code. On out putting this data I try to let my SQL handle ordering and such (because the database is faster at it, let's face it: that is its job.) Plus our DB machines are twice as everything of our Web servers.
I believe using these proceedures answers yes to all your questions. This is even more true when it is run many times.
--
BigJoeLearn patience, you must.
Young PerlMonk, craves Not these things.
Use the source Luke.