
- •ЛЕКЦІЯ 7
- •План
- •Обчислювальні поля
- •Розрахувати загальну вартість для кожної операції.
- •Одержати список фірм з вказівкою прізвища і ініціалів клієнтів
- •Одержати список товарів з вказівкою року і місяця продажу
- •Агрегатні функції
- •Приклади використання
- •Приклади використання
- •Пропозиція GROUP
- •Обчислити середній об'єм покупок, вчинених кожним покупцем
- •Визначити, на яку суму був проданий товар кожного найменування.
- •Підрахувати кількість операцій, здійснених кожною фірмою
- •Пропозиція HAVING
- •Різниця між HAVING та WHERE
- •Визначити фірми, у яких загальна кількість операцій перевищила три.
- •Вивести список товарів, проданих на суму більше 10000 одиниць

ЛЕКЦІЯ 7
ТЕМА: Обчислення і підведення підсумків в запитах

План
1 Побудова обчислюваних полів
2 Використання підсумкових функцій
3 Пропозиція GROUP
4 Пропозиція HAVING

Обчислювальні поля
Представляють собою деякий вираз язика SQL в списку SELECT
В цих виразах застосовуються арифметичні операції складання, віднімання, множення і ділення, а також вбудовані функції язика SQL.
Можна вказати ім'я будь-якого стовпця (поля) таблиці або запиту
Стандарти SQL дозволяють явним чином задавати імена стовпців результуючої таблиці, для чого застосовується фраза AS.

Розрахувати загальну вартість для кожної операції.
SELECT Товар.Назва, Товар.Ціна, Операція.Кількість,
Товар.Ціна*Операція.Кількість AS Вартість
FROM Товар INNER JOIN Операція ON Товар.КодТовара=Операція.КодТовара

Одержати список фірм з вказівкою прізвища і ініціалів клієнтів
SELECT Фірма, Фамилия+" "+Left(Имя,1)+“
. "+Left(Отчество,1)+"."AS ФІО FROM Клієнт

Одержати список товарів з вказівкою року і місяця продажу
SELECT Товар.Назва, Year(Операція.Дата) AS Рік, Month(Операція.Дата) AS Місяць
FROM Товар INNER JOIN Операція ON Товар.КодТовара=Операція.КодТовара

Агрегатні функції
Count (Вираз) - визначає кількість записів у вихідному наборі SQL-запиту;
Min/Max (Вираз) - визначають найменше і найбільше з безлічі значень в деякому полі запиту;
Avg (Вираз) - ця функція дозволяє розрахувати середнє значення безлічі значень, що зберігаються в певному полі відібраних запитом записів. Воно є арифметичним середнім значенням.
Sum (Вираз) - обчислює суму безлічі значень, що містяться в певному полі відібраних запитом записів

Приклади використання
Визначити першу за |
Визначити |
абеткою назву |
кількість |
товару. |
операцій. |
SELECT |
SELECT Count(*) AS |
Min(Товар.Назва) |
Колькість_операцій |
AS Min_Назва |
FROM Операція |
FROM Товар |
|

Приклади використання
Визначити сумарну кількість проданого товару.
SELECT Sum(Операція.Кількість)
AS Кількість_товару FROM Операція
Визначити середню ціну проданого товару.
SELECT Avg(Товар.Ціна) AS Avg_Ціна
FROM Товар INNER JOIN Операція
ON Товар.КодТовара=Опер ація.КодТовара;

Пропозиція GROUP
Використовується в запитах, де вимагається формувати проміжні підсумки, що звичайно відображається появою в запиті фрази "для кожного..."
Для кожної окремої групи, відібраних оператором SELECT, створюється єдиний сумарний рядок.