Vous pouvez créer un SQL externe où la clause from est une sorte de table temporaire comme celle-ci :
SELECT food_name from (
SELECT foodName
FROM food
WHERE foodCategory_id = 1 OR 2
ORDER BY RAND() limit 1) a
UNION
SELECT food_name from (
SELECT foodName
FROM food
WHERE foodCategory_id = 7 OR 8 OR 9
ORDER BY RAND() limit 1) b
UNION
SELECT food_name from (
SELECT foodName
FROM food
WHERE foodCategory_id = 10 OR 11
ORDER BY RAND() limit 1) c