Задача по sql, как найти поставщиков и детали?

Подскажите, как решить данную задачу? что-то не получается
http://sqlfiddle.com/#!9/e5ef32/4
Есть 4 таблицы:
поставщиков, деталей, проектов и поставки(поставщик,деталь,проект,количество)

Найти все пары "номер поставщика—номер детали", причем только такие, в которых данный поставщик не поставляет данную деталь.

P.S.
таблицы:
поставщиков(s), деталей(p), проектов(j) и поставки(spj)


Ответы (1 шт):

Автор решения: Alex R.

Для решения данной задачи необходимо воспольховаться оператором EXISTS, который принимает значение TRUE, если подзапрос содержит любое количество строк, иначе его значение равно FALSE. Для NOT EXISTS все наоборот.

select
  *
from s, p
where not exists
  (select
     null
   from spj
   where spj.s = s.s
   and   spj.p = p.p)

Внутри подзапроса EXISTS можно не выбирать никаких столбцов. В Oracle, например, это позволяет сократить время выполнения запроса.

→ Ссылка