Находим компоненты, имеющиеся у пользователя, затем находим рецепты, которые он НЕ может приготовить, затем выбираем те, которые может.
SELECT `r`.`id`, `r`.`name`, `r`.`description`
FROM `recept`
LEFT JOIN (
SELECT DISTINCT `cr`.`parent_id` AS `parent_id`
FROM `component_recept` AS `cr`
LEFT JOIN (
SELECT `parent_id`
FROM `user_component`
WHERE `user_id` = :uid
) AS `uc` ON `uc`.`parent_id` = `cr`.`parent_id`
WHERE `uc`.`parent_id` IS NULL
) AS `xr` ON `xr`.`parent_id` = `r`.`id`
WHERE `xr`.`parent_id` IS NULL