Практическая работа №4
Вычисления и подведение итогов в запросах
Описывается использование арифметических операторов и построение вычисляемых столбцов. Рассматриваются итоговые (агрегатные) функции COUNT, SUM, AVG, MAX, MIN. Дается пример использования оператора GROUP BY для группировки в запросах выборки данных. Описывается применение предложения HAVING.
Построение вычисляемых полей
В общем случае для создания вычисляемого (производного) поля в списке SELECT следует указать некоторое выражение языка SQL. В этих выражениях применяются арифметические операции сложения, вычитания, умножения и деления, а также встроенные функции языка SQL. Можно указать имя любого столбца (поля) таблицы или запроса, но использовать имя столбца только той таблицы или запроса, которые указаны в списке предложения FROM соответствующей инструкции. При построении сложных выражений могут понадобиться скобки.
Стандарты SQL позволяют явным образом задавать имена столбцов результирующей таблицы, для чего применяется фраза AS.
|
|
Пример 6.1. Рассчитать общую стоимость для каждой сделки. Этот запрос использует расчет результирующих столбцов на основе арифметических выражений.
SELECT Товар.Название, Товар.Цена, Сделка.Количество, Товар.Цена*Сделка.Количество AS СтоимостьFROM Товар INNER JOIN Сделка ON Товар.КодТовара=Сделка.КодТовараПример 6.1. Рассчет общей стоимости для каждой сделки.
Пример 6.2. Получить список фирм с указанием фамилии и инициалов клиентов.
SELECT Фирма, Фамилия+""+ Left(Имя,1)+"."+Left(Отчество,1)+"."AS ФИОFROM КлиентПример 6.2. Получение списка фирм с указанием фамилии и инициалов клиентов.
В запросе использована встроенная функция Left, позволяющая вырезать в текстовой переменной один символ слева в данном случае.
Пример 6.3. Получить список товаров с указанием года и месяца продажи.
SELECT Товар.Название, Year(Сделка.Дата) AS Год, Month(Сделка.Дата) AS МесяцFROM Товар INNER JOIN Сделка ON Товар.КодТовара=Сделка.КодТовараПример 6.3. Получение списка товаров с указанием года и месяца продажи.
В запросе использованы встроенные функции Year и Month для выделения года и месяца из даты.