【发布时间】:2020-06-01 09:27:09
【问题描述】:
我想得到All actors that haven't appeared in R rated films
sub-queries 很容易做到
select *
from actor
where actor_id not in
(select actor_id
from actor
inner join film_actor using (actor_id)
inner join film using (film_id)
where rating = 'R');
joins 我无法做到这一点 -
到现在为止我一直这样做 -
select distinct(a.actor_id), a.first_name, a.last_name
from actor as a
left join
(film_actor as fa
inner join film as f
on fa.film_id = f.film_id)
on a.actor_id = fa.actor_id
where f.rating = 'R'
order by actor_id
在上面的查询中,我得到了所有在R 评级电影中工作过的演员,但现在我不知道如何获得non R 评级电影
有人可以帮我做这个吗?
【问题讨论】:
-
不确定还需要什么信息?谁要求关闭它,如果您能评论并询问它会有所帮助吗?
-
请在代码问题中给出minimal reproducible example--cut & paste & runnable code,包括最小的代表性示例输入作为代码;期望和实际输出(包括逐字错误消息);标签和版本;明确的规范和解释。给出尽可能少的代码,即您显示的代码可以通过您显示的代码扩展为不正常的代码。 (调试基础。)对于包含 DBMS 和 DDL(包括约束和索引)和输入为格式化为表的代码的 SQL。 How to Ask 暂停总体目标的工作,将代码砍到第一个表达式,没有给出你期望的内容,说出你的期望和原因。
-
为什么
film和actor中有INT4,而film_actor中有INT2? -
@philipxy 我很清楚...
-
@Gautam 。 . .我删除了不一致的数据库标签。只标记您真正使用的数据库。