思路:有两种解法可以解决该问题

  1. 使用 inner join 将三个表连接,查询出共有的电影id,在通过共有电影id与 film 表中的 film_id 做 not in 即可
  2. 使用 left join 依次连接 film、film_category、category三个表,最后通过条件判断 category_id is null,取出所需的信息

方法一

select film_id, title
from film 
where film_id not in (
	select f.film_id
	from film f, film_category fc, category c
	where f.film_id = fc.film_id and fc.category_id = c.category_id
)

方法二

select f.film_id, f.title
from 
film f left join film_category fc
on f.film_id = fc.film_id
left join category c
on fc.category_id = c.category_id
where c.category_id is null