Получить список пользователей. Взявших более 1, но менее 3 книг - MySQL
Формулировка задачи:
С использованием SQL создать таблицы для отношения Пользователи (фамилия, код_пользователя), Выданные книги (код_пользователя, дата_выдачи, код_книги). Получить список пользователей. Взявших более 1, но менее 3 книг.
Созданные таблицы:
Пыталась сделать так, но сравнивает не количество, а сам номер
create table polzovat( id int not null auto_increment, familiya char(30), primary key (id)); create table vidanie_knigi( id_knigi int not null auto_increment, id_polz int, data_vidachi date, primary key (id_knigi), foreign key (id_polz) references polzovat(id));
select id_polz, count(id_polz) from vidanie_knigi group by id_polz having id_polz > 1 and id_polz < 3;
Решение задачи: «Получить список пользователей. Взявших более 1, но менее 3 книг»
textual
Листинг программы
SELECT familiya FROM polzovat AS p JOIN vidanie_knigi AS vk ON p.id_polz = vk.id_polz GROUP BY familiya HAVING COUNT(id_knigi) > 1 AND COUNT(id_knigi) < 3;
Объяснение кода листинга программы
В этом коде:
SELECT
— это команда для выбора данных из базы данных.familiya
— это название переменной, которая будет содержать фамилию пользователя.FROM polzovat
— это указание, откуда нужно брать данные. Здесь мы указываем таблицуpolzovat
.JOIN vidanie_knigi AS vk ON p.id_polz = vk.id_polz
— это оператор объединения (JOIN), который позволяет объединить две таблицы по полюid_polz
. В данном случае мы объединяем таблицуpolzovat
и таблицуvidanie_knigi
. Мы также используем псевдонимvk
для таблицыvidanie_knigi
, чтобы не путать её с другими таблицами в запросе.GROUP BY familiya
— это указание, что результаты запроса должны быть сгруппированы по значению переменнойfamiliya
.HAVING COUNT(id_knigi) > 1 AND COUNT(id_knigi) < 3
— это условие, которое применяется к каждой группе результатов. Здесь мы проверяем, что количество книг, взятых пользователем, больше 1 и меньше 3.;
— это конец команды. В результате выполнения этого кода будет получен список фамилий пользователей, которые взяли более 1, но менее 3 книг.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д