Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_BD.doc
Скачиваний:
49
Добавлен:
17.09.2019
Размер:
1.74 Mб
Скачать

25.Sql. Группировка данных. Использование обобщающих функций

SQL (Structurend Query Language) — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. SQL основывается на реляционной алгебре.

Запрос — команда, которую вы даете вашей программе базы данных. Запросы это часть языка DML.

DML (Язык Манипулирования Данными) – подмножество языка SQL — это набор команд, которые определяют, какие значения представлены в таблицах в любой момент времени.

Предложение GROUP BY позволяет группировать записи по одному полю или совокупности полей, указанных в этой фразе. Порядок следования полей в списке имеет значение, поскольку именно он будет определять старшинство признаков группировки. Возвращается одна строка для каждой группы. Допускается до десяти уровней группировки. Нельзя осуществлять группировку по полям, имеющим тип MEMO или объект OLE.

SELECT [код кафедры], Count (ФИО) AS [число_сотрудников] FROM сотрудник GROUP BY[код кафедры];

Стандарт SQL требует, чтобы предложение SELECT и фраза GROUP BY были тесно связаны между собой. При наличии в операторе SELECT фразы GROUP BY каждый элемент списка в предложении SELECT должен иметь единственное значение для всей группы. Более того, предложение SELECT может включать только следующие типы элементов: имена полей, итоговые функции, константы и выражения, включающие комбинации перечисленных выше элементов. Если совместно с GROUP BY используется предложение WHERE, то оно обрабатывается первым, а группированию подвергаются только те строки, которые удовлетворяют условию поиска. В оператор SELECT, содержащий предложение GROUP BY, могут быть включены как предложение WHERE, так и HAVING. Having для групп имеет то же значение, что и Where для строк. Предложение WHERE используется для исключения записей из группировки, a HAVING - для применения фильтра к записям после группировки. Предложение HAVING имеет следующий синтаксис: [HAVING условиеГруппировки]; Предложение HAVING может содержать до 40 выражений, связанных логическими операторами AND и OR. Следует иметь в виду, что для GROUP BY все значения NULL трактуются как равные, то есть при группировке по полю, содержащему NULL-значения, все такие строки попадут в одну группу.

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

Оператор SELECT, содержащий предложение GROUP BY, обычно в качестве полей, выводимых в ответ, включает поля, по которым проводится группировка, и одну (или несколько) статистическую функцию SQL.

В Access используются следующие статистические функции: Avg, Count, First, Last, Min, Max, StDev, StDevP, Sum, Var, VarP.

Статистические функции First, Last, StDev, StDevP, Var, VarP в стандарте SQL отсутствуют.

* COUNT - производит номера строк или не-NULL значения полей которые выбрал запрос.

* SUM - производит арифметическую сумму всех выбранных значений данного пол.

* AVG - производит усреднение всех выбранных значений данного пол.

* MAX - производит наибольшее из всех выбранных значений данного пол.

* MIN - производит наименьшее из всех выбранных значений данного пол.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]