В данном репозитории приведены различные запросы к базе данных "DVD rental". База данных “DVD rental” представляет бизнес-процессы магазина проката DVD.
Основные таблицы базы данных “DVD проката”:
- actor — хранит данные об актёрах, включая их имя и фамилию.
- film — хранит данные о фильмах, включая их название, год выпуска, время, рейтинг и т.д.
- film_actor — хранит отношения между фильмами и актёрами.
- category — хранит данные о жанрах фильмов.film_category -хранит отношения между фильмами и жанрами.
- inventory — хранит данные инвентаризации.
- rental — хранит данные об аренде.
- payment — хранит платежи клиента.
- staff — хранит данные персонала.
- customer — хранит данные покупателей.
- address — хранит адресные данные для сотрудников и клиентов.
- city — хранит названия городов.
- country — хранит названия стран.
Описание БД тут: https://www.postgresqltutorial.com/postgresql-getting-started/postgresql-sample-database/
Модель ER “DVD rental”:
Cписок запросов:
- С помощью SQL-запроса выведите названия ограничений первичных ключей.
- Выведите уникальные названия городов из таблицы городов, названия которых начинаются на “L” и заканчиваются на “a”, и названия не содержат пробелов.
- Получите из таблицы платежей за прокат фильмов информацию по платежам, которые выполнялись в промежуток с 17 июня 2005 года по 19 июня 2005 года включительно, и стоимость которых превышает 1.00.
- Выведите информацию о 10-ти последних платежах за прокат фильмов.
- Выведите следующую информацию по покупателям: ...
- Выведите одним запросом только активных покупателей, имена которых KELLY или WILLIE. Все буквы в фамилии и имени из верхнего регистра должны быть переведены в нижний регистр
- Выведите одним запросом информацию о фильмах, у которых рейтинг "R" и стоимость аренды указана от 0.00 до 3.00 включительно, а также фильмы c рейтингом "PG-13" и стоимостью аренды больше или равной 4.00.
- Получите информацию о трёх фильмах с самым длинным описанием фильма.
- Выведите Email каждого покупателя, разделив значение Email на 2 отдельных колонки ...
- Выведите для каждого покупателя его адрес проживания, город и страну проживания.
- С помощью SQL-запроса посчитайте для каждого магазина количество его покупателей, у которых количество покупателей больше 300-от
- Доработайте запрос 11, добавив в него информацию о городе магазина, а также фамилию и имя продавца, который работает в этом магазине.
- Выведите ТОП-5 покупателей, которые взяли в аренду за всё время наибольшее количество фильмов
- Посчитайте для каждого покупателя 4 аналитических показателя: 1. количество фильмов, которые он взял в аренду, 2. общую стоимость платежей за аренду всех фильмов (значение округлите до целого числа), 3. минимальное значение платежа за аренду фильма, 4. максимальное значение платежа за аренду фильма
- Используя данные из таблицы городов составьте одним запросом всевозможные пары городов таким образом, чтобы в результате не было пар с одинаковыми названиями городов.
- Используя данные из таблицы rental о дате выдачи фильма в аренду (поле rental_date) и дате возврата фильма (поле return_date), вычислите для каждого покупателя среднее количество дней, за которые покупатель возвращает фильмы
- Посчитайте для каждого фильма сколько раз его брали в аренду и значение общей стоимости аренды фильма за всё время.
- Доработайте запрос 17 и выведите с помощью запроса фильмы, которые ни разу не брали в аренду.
- Посчитайте количество продаж, выполненных каждым продавцом. Добавьте вычисляемую колонку "Премия". Если количество продаж превышает 7300, то значение в колонке будет "Да", иначе должно быть значение "Нет".
