Псевдонимы полей


Содержание лекционного занятия:

  •  Псевдонимы полей
  • Функции агрегирования:COUNT , SUM , MIN, МАХ, AVG

Псевдонимы полей

В SQL-запросах можно изменять имена полей. Задаваемые при этом новые имена называются псевдонимами (aliases). Их удобно применять при задании в запросе вычисляемых полей. С помощью псевдонимов этим полям можно присваивать осмысленные имена. Псевдоним помещается после имени поля или вычисляемо­го выражения через ключевое слово AS.

ВНИМАНИЕ. Псевдоним действителен только в пределах конкретного запроса.

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

SELECT [Код товара]. Цена. Заказано, Продано.

Цена*Продано AS [Сумма продажи].

Цена*3аказано AS [Сумма заказа].

Цена*Заказано-Цена*Продано AS [Разность]

FROM Продажи

Результаты выполнения данного запроса приведены на рис. 21.

Способы задания псевдонимов различаются в разных реализациях SQL. Часто псев­доним задается просто указанием нового имени через пробел после имени поля или вычисляемого выражения без дополнительных ключевых слов.

Рис. 21. Пример запроса с псевдонимами полей

Функции агрегирования

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

В SQL определены следующие стандартные функции агрегирования:

·       COUNT — выполняет подсчет записей в таблице пли подсчет ненулевых значе­ний в столбце таблицы;

·       SUM — возвращает сумму содержащихся в столбце значений;

·       MIN — возвращает минимальное значение в столбце;

·       МАХ — возвращает максимальное значение в столбце;

·       AVG — вычисляет среднее значение для содержащихся в столбце значений.

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

SELECT COUNT(продано) AS [Всего записей].

MIN(Продано) AS miп.

МАХ(Продано) AS max,

SUM(Продано) AS [Всего продано].

AVG(Продано) AS [Среднее количество продаж]

FROM Продажи

Результат выполнения этого запроса показан на рис. 22.

Со всеми функциями агрегирования можно использовать параметр DISTINCT. В этом случае выполняется обобщение информации только для различающихся строк.

Рис. 22. Пример использования функций агрегирования

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

Вопросы для самоконтроля:

  1. Каким образом предоставляются права на пользование базой данных и отдельными ее таблицами?
  2. Каким образом изымаются права на пользование базой данных и отдельными ее таблицами?

Рекомендуемая литература:

  1. Избачков Ю.С., Петров В.Н., Информационные системы: Учебник для вузов. 2-е изд. – СПб.: Питер, 2005.-656
  2. Информатика: Учебник/Под ред. проф. Н.В. Макаровой, - М.: Финансы и  статистика, 1997, 2000.