Отчет по лабораторной работе должен содержать протокол вашей работы с учебной
и собственной БД: команды после исправления всех ошибок и результаты выдачи по запросам.
I. Выполните все примеры из лекций по созданию запросов с учебной БД.
П. Создайте новые запросы для работы с учебной БД:
1. Напишите запрос, который сосчитал бы все суммы приобретений на 3 октября.
2. Напишите запрос, который сосчитал бы число различных значений поля city в таблице Заказчиков.
3. Напишите запрос, который выбрал бы наименьшую сумму приобретений для каждого заказчика.
4. Напишите запрос, который бы выбирал заказчиков в алфавитном порядке, чьи имена начинаются с буквы G.
5. Напишите запрос, который выбрал бы высшую оценку в каждом городе.
6. Напишите запрос, который сосчитал бы число заказчиков, регистрирующих каждый день свои порядки. (Если продавец имел более одного порядка в данный день, он должен учитываться только один раз.
7. Напишите запрос, который бы формировал отчет со следующими данными:
номер продавца, фамилия, сумма комиссионных, полученная этим продавцом при оформлении всех покупок (заголовки столбцов должны отражать их содержимое)
8. Напишите запрос к таблице Заказчиков, который мог бы найти высшую оценку в каждом городе. Вывод должен быть в такой форме:
Для города (city),наивысшая оценка — : (rating).
9. Напишите запрос, который выводил бы список заказчиков в порядке убывания оценки. Вывод поля оценки (rating ) должен сопровождаться именем заказчика и его номером.
10. Напишите запрос, который бы выводил сумму приобретений на каждый день и помещал результаты в порядке убывания даты.
11. Напишите запрос, который бы вывел список номеров порядков, сопровождающихся именем продавца, который создавал эти порядки.
12. Напишите запрос, который бы формировал отчет со следующими данными:
имена продавца и заказчика для каждого порядка после номера порядков.
13. Напишите запрос, который бы выводил всех заказчиков, обслуживаемых продавцом с комиссионными выше 12%. Выведите имя заказчика, имя продавца, и комиссионные продавца.
14. Напишите запрос, который вычислил бы сумму комиссионных продавца для каждого порядка заказчика с оценкой выше 100.
15. Напишите запрос, который бы вывел все пары продавцов, живущих в одном и том же городе. Исключите комбинации продавцов с ними же, а также дубликаты строк, выводимых в обратным порядке.
16. Напишите запрос, который вывел бы все пары порядков по данным заказчикам, имена этих заказчиков, и исключал дубликаты из вывода, как в предыдущем вопросе.
17. Напишите запрос, который вывел бы имена (сnum) и города(city) всех заказчиков с такой же оценкой (rating), как у Hoffmana. Напишите запрос, использующий поле cnum Hoffmana, а не его оценку, так чтобы оно могло быть использовано, если его оценка вдруг изменится.
18. Напишите запрос, который бы использовал подзапрос для получения всех порядков для заказчика с именем Cisneros. Предположим, что вы не знаете номера этого заказчика, указываемого в поле cnum.
19. Напишите запрос, который бы выбрал общую сумму всех приобретений в порядках для каждого продавца, у которого эта общая сумма больше, чем сумма наибольшего приобретения в таблице.
III. Работа с собственной БД:
1. Придумайте 10 словесных формулировок запросов с использованием агрегатных функций, объединения таблиц и подзапросов для своей БД.
2. Для каждой из словесных формулировок напишите запрос на SQL и выполните его.