列出自某一年以来未执导过电影的所有导演的姓名

  • 本文关键字:电影 导演 一年 sql postgresql
  • 更新时间 :
  • 英文 :


我正在尝试使用imdb数据库学习PostgreSQL,但我似乎不知道如何列出自某一年以来没有执导过电影的导演。

我有三张桌子要和一起工作

  1. 具有mov_id、mov_title、mov_eyear的表电影
  2. 具有dir_id、dir_name的表控制器
  3. 具有dir_id和movie_id的表movie_direction

我尝试了下面的代码来列出自1988年以来没有执导过电影的所有导演,但这不起作用。有人能指导我如何实现这一目标吗?

from movie_direction
join director d using (dir_id)
join movie m using (mov_id)
where m.mov_year < 1988

使用聚合:

select d.dir_name
from movie_direction md join
director d
using (dir_id) join
movie m
using (mov_id)
group by dir_id, d.dir_name
having max(m.mov_year) < 1988;

请注意,这是按dir_id聚合的,以防两个控制器具有相同的名称。

最新更新