首页 > 解决方案 > 如何查询数据库以返回某个演员演过的电影?

问题描述

数据库如下:

actors(PK(AID), name) 

movies(PK(MID), name) 

actor_role(FK(MID), FK(AID), rolename) 

其中一个演员的名字是“查理卓别林”,我需要它来返回他演过的电影,我无法得到返回的查询。

我目前的查询是

select movie.name
from movies, actors
where actors.name = 'Charlie Chaplin'

它只返回所有电影,而不是他在其中表演的特定电影。

标签: sqlpostgresql

解决方案


我认为这是您的查询:

select M.name
from movies M
  join actor_role AR on AR.MID = M.MID
  join actors A on A.AID = AR.AID
where A.name = 'Charlie Chaplin'

推荐阅读