Встречается на собеседованиях • сегодня
Что такое Semi JOIN в PostgreSQL
Semi JOIN в PostgreSQL — это неявный тип соединения, который возвращает строки из первой таблицы, имеющие соответствия во второй таблице, без дублирования строк. В отличие от обычного JOIN, он не объединяет столбцы из второй таблицы.
Основные варианты реализации:
- Использование
EXISTSв подзапросе - Использование
INс подзапросом - Использование
= ANYс подзапросом
Пример:
sql
-- Вариант с EXISTS
SELECT *
FROM employees e
WHERE EXISTS (
SELECT 1
FROM departments d
WHERE e.department_id = d.id AND d.name = 'IT'
);
-- Эквивалент с IN
SELECT *
FROM employees
WHERE department_id IN (
SELECT id
FROM departments
WHERE name = 'IT'
);Преимущества Semi JOIN:
- Более эффективен, чем обычный JOIN, когда нужны только строки из первой таблицы
- Избегает дублирования строк при наличии нескольких совпадений во второй таблице
- Часто оптимизируется планировщиком запросов PostgreSQL

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