Операция группировки и агрегатные функции
Задания для самостоятельной работы
Изучение структуры 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().