Встречается на собеседованиях • сегодня
Что такое semi join
Semi join — это операция соединения таблиц, которая возвращает только строки из первой таблицы, имеющие соответствие во второй таблице, без дублирования данных из второй таблицы. В отличие от обычного join, semi join не включает столбцы из второй таблицы в результат.
Пример в SQL:
sql
SELECT a.*
FROM table_a a
WHERE EXISTS (SELECT 1 FROM table_b b WHERE a.id = b.id);В Pandas аналог semi join можно реализовать через isin() или merge() с последующим удалением дубликатов:
python
import pandas as pd
df_a = pd.DataFrame({'id': [1, 2, 3]})
df_b = pd.DataFrame({'id': [2, 3, 4]})
# Semi join вариант 1
result = df_a[df_a['id'].isin(df_b['id'])]
# Semi join вариант 2
result = df_a.merge(df_b['id'], on='id').drop_duplicates()Ключевые особенности:
- Возвращает только строки из левой таблицы
- Не дублирует данные при множественных совпадениях
- Часто используется для фильтрации данных

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