Загрузка данных


-- ==========================================
-- 1. Список книг с количеством экземпляров
-- ==========================================
select 
    к.название as [Название книги], 
    а.фио_автора as [Автор], 
    к.количество_экземпляров as [В наличии, шт]
from книги к
join авторы а on к.код_автора = а.код_автора
order by к.количество_экземпляров desc; 
-- (сортируем по убыванию, чтобы сразу видеть, чего больше всего на полках)


-- ==========================================
-- 2. Активные выдачи (где дата возврата NULL)
-- ==========================================
select 
    в.код_выдачи as [Код выдачи],
    к.название as [Книга],
    ч.фио as [Читатель],
    в.дата_выдачи as [Дата выдачи]
from выдачи в
join книги к on в.код_книги = к.код_книги
join читатели ч on в.код_читателя = ч.код_читателя
where в.дата_возврата is null; 
-- (is null — проверяет, что книга еще на руках)


-- ==========================================
-- 3. Топ-5 самых популярных авторов по количеству выданных книг
-- ==========================================
select top 5 
    а.фио_автора as [Автор], 
    count(в.код_выдачи) as [Всего выдач]
from выдачи в
join книги к on в.код_книги = к.код_книги
join авторы а on к.код_автора = а.код_автора
group by а.фио_автора
order by count(в.код_выдачи) desc; 
-- (group by собирает статистику по каждому автору, 
-- а top 5 и order by desc выводят пятерку лидеров)