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.
Learn patience, you must.
Young PerlMonk, craves Not these things.
Use the source Luke.