Определение жанров, не представленных в коллекции книг

Используйте NOT EXISTS: выберите жанры, для которых нет связанной строки книги. Таблица авторов для этой проверки не нужна, если связь книги с жанром хранится непосредственно.

Короткий ответ

Что ответить на собеседовании

Используйте NOT EXISTS: выберите жанры, для которых нет связанной строки книги. Таблица авторов для этой проверки не нужна, если связь книги с жанром хранится непосредственно.

Подробный разбор

Ответ с пояснениями

Условие

В базе данных присутствуют таблицы genre_tbl (жанры), authors (авторы) и books_tbl (книги). Сформулируйте SQL‑запрос, который вернёт перечень всех жанров из таблицы genre_tbl, которые не встречаются ни в одной записи таблицы books_tbl.

Ответ

Используйте NOT EXISTS: выберите жанры, для которых нет связанной строки книги. Таблица авторов для этой проверки не нужна, если связь книги с жанром хранится непосредственно.

При предполагаемых полях genre_tbl.id и books_tbl.genre_id:

SELECT g.*
FROM genre_tbl g
WHERE NOT EXISTS (
    SELECT 1 FROM books_tbl b
    WHERE b.genre_id = g.id
);

Названия ключей в условии не заданы и требуют адаптации. При many-to-many проверяют таблицу связи вместо прямого genre_id. NOT EXISTS не сталкивается с ловушкой NULL, характерной для NOT IN с nullable-подзапросом.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее