Chances are if you are reading this, you are a software developer. Relax, I am one too, as well as a database administrator. I spend a lot of time helping people to write code that is efficient or get the right results. I want to share this post on SQL Database Tuning http://www.toptal.com/sql/sql-database-tuning-for-developers by Rodrigo Koch. It provides some really good advice, especially for beginners in the area.
Really hits the nail on the head though, keep it minimalistic. Only return what you need, it takes more time on the server and then the data has to go over the network. He goes into some detail of how to troubleshoot slow queries and when to create indexes