исключающий join?

Legushka
Дата: 21.01.2015 07:27:39
две таблицы связаны между собой по полю А_ид, подскажите есть ли возможность выбрать все записи из первой таблицы, для которых нет записей во второй. но только не через
where a.a_id not in (select b.a_id from b), а через анти join?
Legushka
Дата: 21.01.2015 09:18:31
я так понял что в постгресе нет поддержки EXCEPTION JOIN. думаю самым оптимальным будет использовать NOT EXISTS (...)

поправьте меня если ошибаюсь.
Добрый Э - Эх
Дата: 21.01.2015 09:21:46
Legushka,

есть. LEFT JOIN + where на результат объединения, это и будет EXCEPTION JOIN:

Select tab1.* 
  from tab1
  left join tab2
    on tab1.a_id = tab2.a_id
 where tab2.id is null
Ivan Durak
Дата: 21.01.2015 11:56:27
Legushka
я так понял что в постгресе нет поддержки EXCEPTION JOIN. думаю самым оптимальным будет использовать NOT EXISTS (...)

поправьте меня если ошибаюсь.

потом загляни в план и внезапно окажется что exists тоже реализуется через джоин :)