If you do it at application level you have an extra query. It would interesting to know the pros and cons and performance analysis of the different approaches to dealing with that.

For example, if you are listing recipes (10/page), and each recipe is to be listed along with its ingredients: grouping and concatinating the ingredients in one query will surely be better, because if you were to do that at application level it would be eleven queries.

I guess what I'm talking about is what is a tagging schema:
http://stackoverflow.com/questions/664283/scalable-database-tagging-schema