Мне нужен способ выбора из таблицы, если эта таблица не содержит данных определенного типа.
Например, если у нас есть таблица с именем farm
и другая таблица с именем animal
. Теперь FarmA содержит свинью и козу, а FarmB просто содержит козу. Я хочу выбрать все фермы, в которых нет свиней.
Моей первой попыткой было сделать это:
SELECT f.*
FROM farm f
INNER JOIN animal a ON f.Id = a.FarmId
WHERE a.Name <> 'pig';
Но это все равно возвращает меня обратно на FarmA, потому что там есть коза, но я не хочу, чтобы она возвращала фермы, на которых есть свиньи.
Я пробовал некоторые подзапросы и использовал not exists
, но это тоже не сработало. Я уверен, что это просто, я просто не могу правильно структурировать свой запрос.