Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МЕТОДИЧКА_Гайнет_Батыр_35.doc
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
8.18 Mб
Скачать

4.3. Порядок проведения работы

1) Создать три запроса на выборку данных из таблиц:

а) без условий;

б) с условиями для одного поля;

в) с условиями для нескольких полей.

2) Записать все запросы в рабочей тетради.

3) Вывести результаты всех запросов в текстовые файлы.

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

1) Каково основное назначение языка SQL?

2) Какие основные блоки содержит запрос на выборку данных?

3) Каков смысл логических операций AND и OR в условиях запросов?

4) Чем отличаются запросы, выводящие информацию на экран и в текстовый файл?

5) Для чего используются псевдонимы полей в запросах?

6) Как задаются условия для выбора интервалов значений?

Лабораторная работа 5 сортировка и групповая обработка данных

Цель работы: изучить способы сортировки и группировки данных для предоставления статистической информации.

5.1. Краткие теоретические сведения

Ввод записей в таблицы БД осуществляется по мере их поступления. Напри­мер, сведения об абитуриентах вводятся в БД учебного заведения в порядке подачи заявлений о приеме. При выборе значений из БД возникает необходимость их упорядочивания с целью удобства представления и просмотра данных. Упорядочивание может производиться, например, в алфавитном порядке фамилий, по году рождения, результатам экзаменов и т. д. Процесс упорядочения записей по возрастанию или убыванию значения какого-либо поля называется сортировкой, а само это поле – ключом сортировки. Сортировка может выполняться одновременно по нескольким полям.

На практике часто возникает необходимость произвести групповую обработку нескольких записей для получения результирующего значения, например посчитать среднее, минимальное или максимальное значение в каком-либо столбце. Для этих целей применяется оператор группировки совместно с групповыми функциями.

5.2. Описание команд и рекомендации к выполнению работы

Для сортировки записей применяется оператор ORDER BY, добавляемый в конце запроса на выборку данных:

SELECT … ORDER BY <ключ1> [ASC|DESC], <ключ2> [ASC|DESC], …;

Названием ключа может быть название поля таблицы или его псевдоним. Команды ASC (Ascending − возрастающий) и DESC (Deescending − убывающий) определяют направление сортировки по каждому ключу. По умолчанию используется сортировка по возрастанию значений.

Для вывода списка студентов, отсортированного по фамилии, можно использовать запрос:

SELECT fio_stud, facultet, gr FROM student ORDER BY fio_stud ASC;

Для сортировки этих данных в порядке убывания номера группы –

SELECT fio_stud, facultet, gr FROM student ORDER BY gr DESC;

Можно использовать несколько ключей сортировки .

Например, список должен быть отсортирован по номерам зачеток, а затем – по дате и коду дисциплины

SELECT number,number_zach,kod_dis,kolvo_time,ball,tabel_prep,date FROM study

ORDER BY number_zach ASC, date DESC, kod_dis DESC;

Для групповой обработки записей применяется оператор GROUP BY, добавляемый в конце запроса на выборку данных. Данный оператор следует помещать перед оператором сортировки:

SELECT ... GROUP BY <ключ группировки>;

Оператор группировки применяется совместно с функциями групповой обработки данных (табл. 6).

Например,для подсчета измерений, выполненных каждым счетчиком, и суммарного значения всех измерений используется запрос:

SELECT sch_id, COUNT(sch_id), SUM(pokazanie) FROM pokazan

GROUP BY sch_id;

При добавлении сортировки по номеру счетчика получается запрос:

SELECT sch_id, COUNT(sch_id), SUM(pokazanie) FROM pokazan

GROUP BY sch_id ORDER BY sch_id;

Таблица 6

Функции групповой обработки данных

Функция

Описание

COUNT()

Количество записей

MAX()

Максимальное значение

MIN()

Минимальное значение

AVG()

Среднее значение

STDDEV_POP()

Среднеквадратичное отклонение (СКО)

SUM()

Сумма всех значений

Для получения максимального показания каждого счетчика в отсортированном виде применяются функция MAX() и оператор сортировки. При этом необходимо использовать псевдоним столбца MAX(pokazanie) для обеспечения возможности сортировки по этому полю (без использования псевдонима обозначить это поле в блоке ORDER BY невозможно):

SELECT sch_id, MAX(pokazanie) AS max_pokazanie FROM pokazan

GROUP BY sch_id ORDER by max_pokazanie DESC;