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

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