Встречается на собеседованиях • сегодня
Сталкивался ли с Anti JOIN в PostgreSQL
Да, Anti JOIN (или Anti Semi JOIN) — это техника для нахождения записей в одной таблице, которых нет в другой. В PostgreSQL это реализуется через LEFT JOIN с проверкой на NULL или через NOT EXISTS.
Пример с LEFT JOIN:
sql
SELECT a.*
FROM table_a a
LEFT JOIN table_b b ON a.id = b.a_id
WHERE b.a_id IS NULL;Пример с NOT EXISTS (часто более эффективен):
sql
SELECT a.*
FROM table_a a
WHERE NOT EXISTS (
SELECT 1 FROM table_b b
WHERE b.a_id = a.id
);Ключевые моменты:
LEFT JOIN+ NULL проверка может быть менее эффективна на больших таблицахNOT EXISTSобычно оптимизируется лучше- В PostgreSQL также есть
EXCEPT, но он работает иначе (сравнивает полные наборы строк)

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы