Назад к вопросам
СБЕР Тех
Junior — Middle
68
Каким образом определить количество записей в таблице, которые не имеют связей с записями в другой таблице?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Чтобы определить количество записей в одной таблице, которые не имеют связей с записями в другой таблице, обычно используют SQL-запрос с оператором LEFT JOIN и проверкой на NULL в связанной таблице. Например, если есть таблица A и связанная таблица B, то запрос будет выглядеть так:
SELECT COUNT(*)
FROM A
LEFT JOIN B ON A.id = B.a_id
WHERE B.a_id IS NULL;
Этот запрос выбирает все записи из A, пытается найти соответствующие записи в B, и затем считает только те, у которых нет связанной записи (то есть B.a_id равен NULL).
В Java для выполнения такого запроса можно использовать JDBC или ORM (например, JPA/Hibernate). Пример с JDBC:
String sql = "SELECT COUNT(*) FROM A LEFT JOIN B ON A.id = B.a_id WHERE B.a_id IS NULL";
try (PreparedStatement stmt = connection.prepareStatement(sql)) {
ResultSet rs = stmt.executeQuery();
if (rs.next()) {
int count = rs.getInt(1);
System.out.println("Количество записей без связей: " + count);
}
}
Таким образом, с помощью SQL-запроса и Java можно получить нужное количество записей без связей.