Recursive MySQL query?

I have a set of data that’s organized hierarchically that should be able to grow to an arbitrary size. I need to retrieve the entire tree, but I can’t figure out how to do it with just SQL. My current solution is to create a temporary table and use a recursive function to successively query branches of the tree and then store the result in the temporary table which I subsequently query again to produce my desired result.