Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Правила выполнения запросов с группировкой.






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

столбец (столбцы) группировки и одна или несколько агрегатных функций. Таким образом, возвращаемым столбцом может быть:

– константа;

– агрегатная функция, возвращающая одно значение для всех строк, входящих в группу;

– столбец группировки, который по определению имеет одно и то же значение во всех строках группы;

– выражение, включающее в себя перечисленные выше элементы.

Запросы с группировкой и с условиями отбора групп выполняются следующим образом.

1. Взять таблицу, указанную в предложении FROM.

2. Если имеется предложение WHERE, применить заданное в нем условие отбора к каждой строке таблицы. Если при этом получается значение TRUE, то текущая строка добавляется в результирующую таблицу, если получается значение FALSE, то строка отбрасывается.

3. Если имеется предложение GROUP BY, разделить строки таблицы таким

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

группировки (т. е. в столбцах, указанных за ключевым словом GROUP BY).

4. Если имеется предложение HAVING, применить заданное в нём условие к каждой группе и оставить в результирующей таблице те группы, для которых

это условие выполняется.

5. Для каждой из оставшихся групп строк вычисляются значения агрегатных функций, указанных в предложении SELECT. При этом для каждой группы

формируется одна строка, содержащая значения столбцов группировки и значения агрегатных функций, указанных в предложении SELECT.

Вложенные запросы.

В SQL существует механизм вложенного запроса, позволяющий использовать результаты одного запроса в другом запросе. Этот механизм играет важную роль в SQL по следующим причинам:

– вложенные запросы соответствуют словесному описанию запроса и поэтому являются самым естественным способом выражения запроса;

– вложенные запросы позволяют структурировать запрос путем разбиения на части (на главный запрос и вложенные запросы);

– существуют ситуации, когда невозможно обойтись без вложенных запросов.

Вложенным называется запрос, содержащийся в предложении WHERE или

HAVING другого запроса.

Рассмотрим следующую ситуацию. Требуется вывести список офисов, для которых плановый объем продаж (поле TARGET) превышает сумму плановых

объемов продаж всех служащих (поле QUOTA).

Первая часть этого запроса должна выглядеть как

SELECT CITY






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.