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

Как посчитать записи в одной таблице не связанные с другой таблицей

Для подсчёта записей в таблице A, не связанных с таблицей B, можно использовать SQL-запрос с LEFT JOIN и проверкой на NULL в связанной таблице:

sql
SELECT COUNT(*) 
FROM table_a a
LEFT JOIN table_b b ON a.id = b.a_id
WHERE b.a_id IS NULL;

Или с подзапросом и NOT IN:

sql
SELECT COUNT(*) 
FROM table_a 
WHERE id NOT IN (SELECT a_id FROM table_b);

В JPA/Hibernate это можно реализовать через Criteria API или JPQL:

java
// JPQL вариант
Long count = entityManager.createQuery(
    "SELECT COUNT(a) FROM TableA a WHERE a.id NOT IN (SELECT b.aId FROM TableB b)", 
    Long.class
).getSingleResult();
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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