Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы SQL-2012.doc
Скачиваний:
5
Добавлен:
01.04.2025
Размер:
1 Мб
Скачать
☆

Select musicians.Country, sum(disks.Profit) as 'Объем рынка'

FROM MUSICIANS INNER JOIN DISKS ON MUSICIANS.ID = DISKS.MUS_ID group by MUSICIANS.COUNTRY having SUM(DISKS.PROFIT)>100 order by 2 DESC;

где having SUM(DISKS.PROFIT)>100 задает ограничение на вычисляемые в результате группировки поля.

Нажмите на кнопку «Запуск» - и посмотрите результат запроса;

Сохраните запрос(Файл/Сохранить как) под именем «Упражнение 7»

      1. Составим запрос к базе данных, при выполнении которого будут выдаваться на экран объемы рынков музыкальной продукции по странам, 5 крупнейшим игрокам рынка, у которых объем рынка более 100 т $, отсортированный в порядке убывания объема рынка:

SELECT TOP 5 MUSICIANS.COUNTRY, SUM(DISKS.PROFIT) AS 'Объем рынка' FROM MUSICIANS INNER JOIN DISKS ON MUSICIANS.ID = DISKS.MUS_ID group by MUSICIANS.COUNTRY order by 2 DESC ;

где TOP 5 задает ограничение на количество выдаваемых на экран записей.

Нажмите на кнопку «Запуск» - и посмотрите результат запроса;

Сохраните запрос(Файл/Сохранить как) под именем «Упражнение 8»

      1. Составим запрос к базе данных, при выполнении которого будут выдаваться на экран средний доход, полученный каждым исполнителем (Название исполнителя, доход)от продажи одного диска:

SELECT AVG (DISKS.PROFIT/DISKS.COPIES) AS [Sum-PROFIT] FROM MUSICIANS INNER JOIN DISKS ON MUSICIANS.ID = DISKS.MUS_ID GROUP BY MUSICIANS.Name;

где функция AVG(DISCS.PROFIT) выдает среднее значение в поле DISCS.PROFIT

GROUP BY – определяет по какому полю осуществлять группировку записей

Нажмите на кнопку «Запуск» - и посмотрите результат запроса;

Сохраните запрос(Файл/Сохранить как) под именем «Упражнение 9»

Задачи:

  1. Составить запрос к базе данных, при выполнении которого будет выдаваться на экран список исполнителей (название исполнителя и дата рождения/образования), отсортированный по дате рождения/образования, а также доход, полученный исполнителями от продажи своих дисков.

Запрос сохранить под названием «Задача 1»

  1. Составить запрос к базе данных, при выполнении которого будет выдаваться на экран список стран и доход, полученный всеми исполнителями страны по годам выпуска дисков.

Запрос сохранить под названием «Задача 2»

  1. Составить запрос к базе данных, при выполнении которого будут выдаваться на экран список из 3-х исполнителей/групп, выпустивших максимальное количество дисков за период с 1985 по 2005 годы, с указанием количества дисков и года образования/рождения группы/исполнителя.

Запрос сохранить под названием «Задача 3»

  1. Составить запрос к базе данных, при выполнении которого будут выдаваться на экран список стран и количество дисков, выпущенных в каждой из стран за период с 1985 по 2005 годы, отсортированный в порядке убывания количества выпущенных дисков и только те страны, в которых было выпущено более 100 000 дисков.

Запрос сохранить под названием «Задача 4»

  1. Составить запрос к базе данных, при выполнении которого будут выдаваться на экран список стран и средняя стоимость дисков в каждой из стран.

Запрос сохранить под названием «Задача 5»

Задание 2. Выполнить запросы к базе данных индивидуального варианта.

Контрольные вопросы

  1. Каким образом сохранить результаты запроса в таблице?

  2. Какими средствами SQL реализуются следующие операции реляционной алгебры: ограничение, декартово произведение, выбор, пересечение, объединение, разность, соединение?

  3. Что такое внешнее соединение?

  4. В каких случаях вместо фразы IN можно использовать операцию сравнения?

  5. Какие существуют средства группирования в SQL? Как они используются?