Sobes.tech
Junior — Middle
115

Hoe bepaal je het aantal records in een tabel die geen relaties hebben met records in een andere tabel?

Bedrijven waar gevraagd werd
СБЕР ТехСБЕР Тех

Antwoord van AI

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 можно получить нужное количество записей без связей.