我的模型在多对多关系中看起来像这样 我已经正确设置了我的链接表。但是我不知道怎么办
--> 获取所有Film
不是 Actor
x 的一部分。
我需要 JOINS* 才能执行此操作吗?或简单的选择? 非常感谢任何提示。
最佳答案
一般的方式是使用not exists
:
select f.*
from film f
where not exists (select 1 from actor_film_mapping where film_id = f.film_id);
但是,JOIN
(即 LEFT JOIN
)也将通过位过滤代替 IS NULL
select f.*
from film f
left join actor_film_mapping am on am.film_id = f.film_id
where am.film_id is null;
关于sql - 如何对一个模型*不*包含另一个模型的多对多关系进行过滤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50280314/