Quello di scrivere tutta la query nel tuo applicativo è sicuramente la strada peggiore...

Ti consiglio fortemente di utilizzare le viste, ed ancor di più, le stored procedures che risultano essere più modulari e potenti rispetto alle stesse viste
Qui trovi una breve introduzione al tema, con una chiara spiegazione del perchè siano da preferire...(poi magari approfondiamo...)

http://www.eioba.com/a70583/a_basic_...red_procedures