Как выбрать относительное дополнение таблицы B в таблице A (A\B) в SQL-Query?

У меня есть две таблицы:

  • предметы: [id,...]

  • категории: [subject.id,...]

Я хочу выбрать все предметы из таблицы №1 без записей в # 2 (категории).

Любые советы, оцененные (:

С наилучшими пожеланиями

Ответы

Ответ 1

select * from subjects where id not in (select subject.id from categories )

Ответ 2

Sachin уже предоставил правильный ответ, но вы можете сделать это и с синтаксисом соединения:

SELECT
  subjects.*
FROM
  subjects
LEFT OUTER JOIN
  categories
ON
  subjects.id = categories.subject_id
WHERE
  categories.subject_id IS NULL