Операция группировки и агрегатные функции

Задания для самостоятельной работы

Изучение структуры SQL-запросов

1. Просмотреть все записи таблицы GTD06-07.

2. Определить количество записей в таблице GTD06-07.

(используйте функцию COUNT(*)).

3. Составить запрос, извлекающий только sum-поля, и добавить пояснительные синонимы для этих полей.

4. Составить запросы, определяющие записи об экспорте товаров

4.1. из Германии;

4.2. из Германии, Польши и Франции;

4.3. из Германии, Польши и Франции через таможню “КРАСНОДАРСКАЯ”;

4.4. из Германии через таможню “КРАСНОДАРСКАЯ” или из Франции через таможню “СТАВРОПОЛЬСКАЯ”;

4.5. не из Китая.

5. Вывести записи таблицы, упорядочивая записи по:

5.1. суммарной стоимости;

5.2. суммарной стоимости, году и названию таможни.

(используйте ключевое слово ORDER BY).

6. Вывести все различные:

6.1. названия таможен ЮФО;

6.2. названия отраслей;

6.3. стран импорта/экспорта.

7. Набрать запрос и объяснить его смысл:

SELECT "Через таможню " + [First-таможня] + " в " + Str( [год] ) +

" экспортировали " + [First-группа] + " в страну " + [страны] +

" на сумму " + Str( [Sum-стоим] ) + " р."

AS ["Экспортные операции"]

FROM GTD06_07

WHERE [тип ГТД] = "ЭК"

ORDER BY [страны];

 

(Функция Str() используется для преобразования числа в строку)

Использование конструктора

Постройте при помощи конструктора запросов следующие запросы. Для каждого запроса переходите в раздел “Режим SQL” и просмотрите текст SQL-запроса.

1.При помощи конструктора запросов вывести все записи таблицы GTD06_07

(используйте свойства “Вывод всех полей”).

2.Модифицируйте предыдущий запрос, оставив вывод только полей “тип ГТД”, “First-таможня”, Sum-поля и “ Страны”.

3.Ограничьте количество выдаваемых записей для предыдущего запроса (используйте свойство “Набор значений”). Установите количество записей 50, а затем 10 %.

4.Создайте новый запрос, выдающий все поля таблицы, и выполните отбор записей по следующим критериям:

4.1. экспорт товаров из Германии;

4.2. из Германии, Польши и Франции;

4.3. из Германии, Польши и Франции, используя предикат In;

4.4. не из Китая.

(для перехода в окно “Построитель выражений” установите указатель мыши на поле “Условие отбора”).

5.Создайте новый запрос, выдающий все поля таблицы, и для поля “Страны” при помощи окна “Построитель выражений” введите условие:

Like [Введите первую букву названия страны] & "*"

Исполните этот запрос и посмотрите результат.

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

7.Составить запросы для вывода записей таблицы, упорядочивая записи по:

7.1. суммарной стоимости;

7.2. суммарной стоимости, году и названию таможни.

(устанавливайте соответствующие поля “Сортировка”).

8.Составить запросы для вывода различных значений:

8.1. названий таможен ЮФО;

8.2. названий отраслей;

8.3. стран импорта/экспорта

(для вывода уникальных значений в Свойствах запроса установите значение параметра “Уникальные значение” в “Да”).

 

Операция группировки и агрегатные функции

Постройте при помощи конструктора запросов следующие запросы. Для каждого запроса переходите в раздел “Режим SQL” и просмотрите текст SQL-запроса.

1. Составьте запросы с группировкой записей таблицы GDT06_07 по следующим наборам полей:

1.1. по полю “First-таможня”;

1.2. по полю “Страны”;

1.3. по полю “First-группа”;

1.4. по комбинации этих трех полей.

Подсказка. Для использования группировки в запросах активизируйте функцию “Вид”->”Групповые операции” и в появившемся поле конструктора “Групповая операция” выберете одноименный пункт (для каждого поля, для которого выполняется группировка)

2. Выполните группировку по полю “Страны”, рассматривая только записи, относящиеся только к экспертным операциям по Ростовской таможне.

Подсказка. Используйте условие отбора по соответствующим полям и в поле “Групповая операция” выбирайте “условие”.

3. Выполните группировку по полям “First-таможня”, “Страны”, рассматривая только экспортные операции с товарами категории “Черные металлы” за 2006 год.

4. Для запросов 2, 3 подсчитайте количество записей в каждой группе. Объясните смысл данного запроса.

Подсказка. В поле “Групповая операция” выбирайте “выражение”, а в “поле” перейдите в построитель выражений и наберите “count(*)”.

5. Подсчитайте количество записей об импорт/экспорт товары по каждой категории.

6. Подсчитайте суммарный импорт/экспорт:

6.1. по каждой категории товаров.

6.2. по каждой стране.

Подсказка. Используйте агрегатную функцию sum() от соответствующего поля.

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

Подсказка. Используйте агрегатные функции min() и max().

8. Определите среднюю величину взысканных платежей по каждой категории экспортированных товаров.

Подсказка. Выполните селекцию и виду операции (только экспорт), группировку по категории товаров, и вычислении агрегатной функции avg().