这道题目要求我们找出没有分类的电影的电影ID和电影名称。我们要做的事情如下:

1. 确定总体问题

我们需要找出没有分类的电影,并返回这些电影的电影ID和电影名称。即从电影信息表和电影分类表中提取数据,通过电影ID进行左连接,并筛选出那些没有分类的电影。

2. 分析关键问题

  • 连接表:将filmfilm_category表进行左连接,以便获取每个电影的分类信息。
  • 筛选没有分类的电影:通过条件过滤,找出没有分类的电影。

3. 解决每个关键问题的代码及讲解

步骤1:连接表

我们使用LEFT JOINfilmfilm_category表连接起来:

from
    film f
    left join film_category fm on fm.film_id = f.film_id
  • LEFT JOIN film_category fm ON fm.film_id = f.film_id:通过电影ID进行左连接,以便获取每个电影的分类信息。
步骤2:筛选没有分类的电影

我们使用WHERE子句筛选出没有分类的电影:

where
    fm.category_id is null
  • WHERE fm.category_id IS NULL:筛选出那些没有分类的电影。

完整代码

select
    f.film_id,
    f.title
from
    film f
    left join film_category fm on fm.film_id = f.film_id
where
    fm.category_id is null;