Базы данных. Краморенко Н.В. - 72 стр.

UptoLike

Составители: 

73
Глава 4.2. Применение агрегатных функций и вложенных запросов в операторе
выбора
4.2.1. SQL-функции
В SQL существует ряд специальных стандартных функций (SQL-функций). Кроме
специального случая COUNT(*) каждая из этих функций оперирует совокупностью значений поля
некоторой таблицы и создает единственное значение, определяемое так:
COUNT – подсчет количества записей, содержащихся в заданном поле запроса
SUM – вычисление суммы набора значений, содержащихся в заданном поле запроса
AVG – вычисление арифметического среднего набора чисел, содержащихся в указанном
поле запроса
MAX – вычисление максимального значения из набора значений, содержащихся в
указанном поле запроса
MIN – вычисление минимального значения из набора значений, содержащихся в указанном
поле запроса
Для функций SUM и AVG рассматриваемый столбец должен содержать числовые значения.
Следует отметить, что здесь поле - это поле виртуальной таблицы, в которой могут
содержаться данные не только из поля базовой таблицы, но и данные, полученные путем
функционального преобразования и (или) связывания символами арифметических операций значений
из одного или нескольких полей. При этом выражение, определяющее поле такой таблицы, может
быть сколь угодно сложным, но не должно содержать SQL-функций (вложенность SQL-функций не
допускается). Однако из SQL-функций можно составлять любые выражения.
Аргументу всех функций, кроме COUNT(*), может предшествовать ключевое слово
DISTINCT (различный), указывающее, что избыточные дублирующие значения должны быть
исключены перед тем, как будет применяться функция.
Специальная функция COUNT(*) служит для подсчета всех без исключения записей в
таблице (включая дубликаты).
1. Посчитать количество поставщиков
SELECT Count(*)AS Количество
FROM Поставщики;
Результат запроса
Если не используется фраза GROUP BY, то в перечень элементов_SELECT можно включать
лишь SQL-функции или выражения, содержащие такие функции. Другими словами, нельзя иметь в
списке столбцы, не являющихся аргументами SQL-функций.
2. Выдать данные о массе творога (КодПрод=8), поставленного поставщиками, и указать
количество этих поставок
SELECT Sum(КоличестовП) AS Вес, Count(КоличестовП) AS Количество
FROM Поставки
WHERE КодПрод = 8;
Результат запроса
3. Рассчитать ежедневную сумму продаж продуктов и вес проданных продуктов
SELECT ДатаПродажи, Sum([Количество]*[ЦенаПродажи]) AS СуммаПродажи
FROM Продажи
GROUP BY ДатаПродажи;
Результат запроса
Глава 4.2. Применение агрегатных функций и вложенных запросов в операторе
                                  выбора
4.2.1. SQL-функции
       В SQL существует ряд специальных стандартных функций (SQL-функций). Кроме
специального случая COUNT(*) каждая из этих функций оперирует совокупностью значений поля
некоторой таблицы и создает единственное значение, определяемое так:
      • COUNT – подсчет количества записей, содержащихся в заданном поле запроса
      • SUM – вычисление суммы набора значений, содержащихся в заданном поле запроса
      • AVG – вычисление арифметического среднего набора чисел, содержащихся в указанном
          поле запроса
      • MAX – вычисление максимального значения из набора значений, содержащихся в
          указанном поле запроса
      • MIN – вычисление минимального значения из набора значений, содержащихся в указанном
          поле запроса
       Для функций SUM и AVG рассматриваемый столбец должен содержать числовые значения.
       Следует отметить, что здесь поле - это поле виртуальной таблицы, в которой могут
содержаться данные не только из поля базовой таблицы, но и данные, полученные путем
функционального преобразования и (или) связывания символами арифметических операций значений
из одного или нескольких полей. При этом выражение, определяющее поле такой таблицы, может
быть сколь угодно сложным, но не должно содержать SQL-функций (вложенность SQL-функций не
допускается). Однако из SQL-функций можно составлять любые выражения.
       Аргументу всех функций, кроме COUNT(*), может предшествовать ключевое слово
DISTINCT (различный), указывающее, что избыточные дублирующие значения должны быть
исключены перед тем, как будет применяться функция.
       Специальная функция COUNT(*) служит для подсчета всех без исключения записей в
таблице (включая дубликаты).

1. Посчитать количество поставщиков
      SELECT Count(*)AS Количество
      FROM Поставщики;

      Результат запроса

       Если не используется фраза GROUP BY, то в перечень элементов_SELECT можно включать
лишь SQL-функции или выражения, содержащие такие функции. Другими словами, нельзя иметь в
списке столбцы, не являющихся аргументами SQL-функций.

2. Выдать данные о массе творога (КодПрод=8), поставленного поставщиками, и указать
   количество этих поставок
      SELECT Sum(КоличестовП) AS Вес, Count(КоличестовП) AS Количество
      FROM Поставки
      WHERE КодПрод = 8;

      Результат запроса
3. Рассчитать ежедневную сумму продаж продуктов и вес проданных продуктов
      SELECT ДатаПродажи, Sum([Количество]*[ЦенаПродажи]) AS СуммаПродажи
      FROM Продажи
      GROUP BY ДатаПродажи;




      Результат запроса




                                             73