Выберите незакрытые выдачи с датой раньше текущего момента минус месяц и соедините их с книгами и читателями. Поля и таблицы нужно подставить из реальной схемы.
Запрос для получения информации о просроченных книгах и их читателях
Выберите незакрытые выдачи с датой раньше текущего момента минус месяц и соедините их с книгами и читателями. Поля и таблицы нужно подставить из реальной схемы.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Составьте 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, сравнивайте срок возврата, а не автоматически возраст выдачи.