Встречается на собеседованиях • сегодня

Как при двух таблицах в SQL найти пользователей у которых нет соответствующей записи во второй таблице

Для поиска пользователей без соответствующих записей во второй таблице можно использовать LEFT JOIN с проверкой на NULL или NOT EXISTS.

Вариант с LEFT JOIN:

sql
SELECT a.* 
FROM table_a a
LEFT JOIN table_b b ON a.id = b.user_id
WHERE b.user_id IS NULL;

Вариант с NOT EXISTS:

sql
SELECT a.* 
FROM table_a a
WHERE NOT EXISTS (
    SELECT 1 FROM table_b b 
    WHERE b.user_id = a.id
);

Оба запроса вернут записи из table_a, для которых нет соответствий в table_b. NOT EXISTS часто работает эффективнее для больших таблиц, так как прекращает поиск после первого совпадения.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы