select c.name,count(a.film_id) from film a 
inner join film_category b on a.film_id = b.film_id
inner join category c on c.category_id = b.category_id 
where a.description like '%robot%' 
and c.category_id in 
(SELECT category_id FROM film_category 
GROUP BY category_id HAVING COUNT(film_id) >= 5);
首先能用联结尽量避免用子查询