Thanks for the tips. That was exactly what I was looking for. I didn't know that you could reference a table twice, but it makes sense and seems to do the trick. I have also been planning on renaming all the tables and fields, but I haven't gotten around to it yet. I suppose I probably should before I write too many queries.

Your example code didn't work, but I think I know what the problem is; I think that ingredient_similar needs to be referenced twice as well, something like the following:

SELECT a.ingredientname, b.ingredientname
FROM ingredient_all AS a, ingredient_all AS b,
ingredient_similar AS x, ingredient_similar AS y,
recipe_ingredient AS z
WHERE a.IngredientID=z.IngredientID
AND a.IngredientID=x.IngredientID
AND x.IngSimID=y.IngSimID
AND y.IngredientID=b.IngredientID
AND z.recipeID=1

I'm going to test it out and see what it does.

-Biscuits