Запрос для получения информации о просроченных книгах и их читателях

Выберите незакрытые выдачи с датой раньше текущего момента минус месяц и соедините их с книгами и читателями. Поля и таблицы нужно подставить из реальной схемы.

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

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

Выберите незакрытые выдачи с датой раньше текущего момента минус месяц и соедините их с книгами и читателями. Поля и таблицы нужно подставить из реальной схемы.

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

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

Условие

Составьте SQL‑запрос, который выводит список книг, находящихся у клиентов более месяца, а также данные этих клиентов.

Ответ

Выберите незакрытые выдачи с датой раньше текущего момента минус месяц и соедините их с книгами и читателями. Поля и таблицы нужно подставить из реальной схемы.

Если loans хранит book_id, reader_id, issued_at, returned_at, а books/readers содержат title/name, пример PostgreSQL:

SELECT b.id AS book_id, b.title, r.id AS reader_id, r.name,
       l.issued_at
FROM loans AS l
JOIN books AS b ON b.id = l.book_id
JOIN readers AS r ON r.id = l.reader_id
WHERE l.returned_at IS NULL
  AND l.issued_at < CURRENT_TIMESTAMP - INTERVAL '1 month';

Календарный месяц и 30 суток — разные правила. Если просрочка определяется due_at, сравнивайте срок возврата, а не автоматически возраст выдачи.

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

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

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

Подробнее