Необходимо получить рецепты по id продуктов и их массе, по времени приготовления и по способу приготовления.
join всех необходимых таблиц с условиями
как найти рецепты в которых есть только этот продукт, а других быть не должно? А как сделать такой поиск по нескольким продуктам и рецептам?
INNER JOIN recipe_product AS recipe_product1
ON ...
AND recipe_product1.product_id = $productId1
INNER JOIN recipe_product AS recipe_product2
ON ...
AND recipe_product2.product_id = $productId2
LEFT JOIN recipe_product AS recipe_product_other
ON ...
AND recipe_product_other.product_id NOT IN ($productId1, $productId2)
...
WHERE recipe_product_other.id IS NULL
P.S. Эффективность такого запроса оставляет желать лучшего. Запрос с group by из соседнего ответа гораздо эффективнее.