- •1. Форматирование выходных данных запросов. 39
- •Тема 1.
- •1. Введение. История развития баз данных.
- •1. Введение. История развития баз данных
- •2. Основные понятия и определения
- •Тема 2.
- •1. Архитектура базы данных. Физическая и логическая независимость.
- •1. Архитектура базы данных. Физическая и логическая независимость
- •2. Разработка приложений в среде Microsoft Windows. Системы быстрой разработки приложений. Субд. Модели данных.
- •3. Основные этапы проектирование базы данных.
- •Тема 3.
- •1. Дополнительные общие рекомендации по проектированию базы данных.
- •2. Разработка приложений в среде Microsoft Windows.
- •1. Дополнительные общие рекомендации по проектированию базы данных.
- •2. Разработка приложений в среде Microsoft Windows.
- •Тема 4.
- •1. Построение таблиц.
- •2. Запросы в Microsoft Access. Параметры запросов на выборку данных.
- •3. Операции реляционной алгебры.
- •1. Построение таблиц
- •2. Запросы в Microsoft Access. Параметры запросов на выборку данных.
- •3. Операции реляционной алгебры.
- •Тема 5.
- •1. Понятие технологии «Клиент-сервер». Общие сведения о языке запросов sql.
- •2. Структура sql.
- •1. Понятие технологии «Клиент-сервер». Общие сведения о языке запросов sql.
- •2. Структура sql.
- •Тема 6.
- •1. Запрос выборки в языке sql. Выборка из одной таблицы.
- •2. Суммирование данных с помощью функций агрегирования (групповых функций).
- •1. Запрос выборки в языке sql. Выборка из одной таблицы.
- •2.Суммирование данных с помощью функций агрегирования (групповых функций).
- •Тема 7.
- •1. Форматирование выходных данных запросов.
- •2.Соединение таблиц
- •3.Вложенные подзапросы
- •4.Связанные подзапросы. Оператор exists
- •5.Вложенные и связанные подзапросы. Операторы any, all, come
- •Тема 8.
- •1. Форматирование выходных данных запросов.
- •1. Форматирование выходных данных запросов.
- •Тема 9.
- •1. Запросы обновления таблиц.
- •2. Создание, модификация и уничтожение таблиц. Ограничение на множество допустимых значений данных. Значение по умолчанию.
- •3. Создание и уничтожение индексов. Поддержка ссылочной целостности.
- •1. Запросы обновления таблиц.
- •2. Создание, модификация и уничтожение таблиц. Ограничение на множество допустимых значений данных. Значение по умолчанию.
- •3. Создание и уничтожение индексов. Поддержка ссылочной целостности.
- •Тема 10.
- •1. Создание представлений .
- •2. Определение правд доступа к данным.
- •1. Создание представлений.
- •2. Определение правд доступа к данным.
- •Тема 11.
- •1. Определение синонимов объектов. Понятие транзакций. Управление параллелизмом.
- •Тема 12.
- •1. Встроенный sql, основные понятия
- •1. Встроенный sql, основные понятия.
2.Суммирование данных с помощью функций агрегирования (групповых функций).
Функции агрегирования предназначены для расчета значений по группам строк таблиц. Стандарт SQL определяет следующие функции:
COUNT – определяет количество строк или количество непустых значений поля.
SUM – сумма значений поля.
AVG – среднее значение поля
MIN – минимальное значение поля
MAX – максимальное значение поля.
Как видно, таких функций меньше, чем обеспечивает, к примеру, Access.
Функции агрегирования указываются вместо имен полей в операторы SELECT, а имена полей задаются как параметры функции. Для SUMM и AVG, поля-параметры должны быть числовыми. Для COUNT, MIN, MAX – как числовые так и символьные поля-параметры.
Пример: Получить среднюю оценку студента с кодом «003».
AVG(ocen) |
3 |
FROM оценка
WHERE snum= “003”;
С функцией COUNT могут быть использованы специальные атрибуты:
COUNT (*) – количество строк в таблице
Пример:
SELECT COUNT(*) FROM студент; //результат – 4.
Пример:
SELECT COUNT (spdp) FROM студент; // результат – 3.
Так же можно задать количество неповторяющихся значений поля:
COUNT (DISTINCT имя_поля);
Пример:
SELECT COUNT (DISTINCT opnum)
FROM оценка; // результат – 2.
Предложение GROUP BY позволяет определить подмножество значений одного поля в терминах другого поля и применить функцию агрегирования к полученному подмножеству. В предложении GROUP BY перечисляются имена полей, при одинаковых значения которых, записи объединяются в подмножества.
Пример: Получить суммарный балл студента.
osnum |
оценка |
001 |
10 |
002 |
4 |
003 |
9 |
FROM оценка GROUP BY osnum;
Пример: Получить средний балл студента у преподавателя.
opnum |
osnum |
AVG(ocen) |
001 |
001 |
5 |
001 |
002 |
4 |
001 |
003 |
3 |
003 |
001 |
5 |
003 |
003 |
3 |
FROM оценка GROUP BY opnum, osnum;
При использовании GROUP BY может потребоваться наложить условия на включение записей по группам в результирующую таблицу.
Пример: Получить сведения о студентах, у кот. Средний балл не ниже 4.
SELECT osnum, AVG(ocen)
FROM оценка
WHERE AVG(ocen) >=4
GROUP BY osnum;
Запрос такого вида является некорректным, т.к. применять функции агрегирования в предложении WHERE – нельзя, т.к. условие применяется для каждой строки, а не для группы строк.
В данном случае следует применить предложение
osnum |
AVG(ocen) |
001 |
5 |
002 |
4 |
FROM оценка
GROUP BY osnum
HAVING AVG(ocen) >=4;
Тема 7.
1. Форматирование выходных данных запросов.
2. Соединение таблиц.
3. Вложенные подзапросы.
4. Связанные подзапросы. Оператор EXISTS.
5. Вложенные и связанные подзапросы. Операторы ANY, ALL, SOME