Вы выбираете фильмы со стола фильмов.Вы - внешнее объединение запасов и арендных плат.Тогда вы сохраняете все NULL прокаты.Это так называемое анти-соединение, уловка, используемая на слабых СУБД для имитации предложений NOT EXISTS
или NOT IN
, что эти СУБД не справляются хорошо.
Таким образом, запрос дает вам все фильмы, которые либоне иметь товарно-материальных ценностей вообще или иметь товарно-материальные запасы, но ни одной арендыИли коротко: фильмы без проката.Точно, что вы говорите, что хотите достичь.
Другой способ написания запроса:
select title
from film f
where not exists
(
select *
from inventory i
join rentals r on r.inventory_id = i.inventory_id
where i.film_id = f.film_id
);