V. Підведення підсумків заняття.
ІV. Узагальнення та систематизація знань.
План
1.Оператор Group by.
2.Оператор Having.
VІ. Домашнє завдання:вивчити матеріал лекції, знати відповіді на такі питання лекції:
1.Який оператор мови SQL дозволяє застосовувати агрегатні функції до отриманної підмножини значень?
2.Для чого призначений оператор мови SQL Having?
3.В чому різниця між операторами Where та Having?
4.Чому оператор Having треба використовувати спільно з оператором Group By?
Робота з функціями істотньо відрізняється від обрання поля тим, що вихідні дані містять єдине значення незалежно від кількості рядків в таблиці. За цією причиною агрегатні функції та поля не можуть обиратися одночасно.
Для реалізації такої можливості існує оператор GROUP BY, який визначає підмножину значень окремого поля в термінах іншого поля та дозволяє застосовувати агрегатні функції до отриманної підмножини. Це надає можливість комбінувати поля та агрегатні функції в одному операторі Select. GROUP BY використовує агрегатні функції окремо до кожної серії груп, які визначаються загальним значенням поля. Це означає, що поле, до якого застосовується GROUP BY по визначенню має на виході лише одне значення на кожну з груп, що відповідає застосуванню агрегатних функцій. Таке сполучання результатів дозволяє комбінувати агрегати з полями вказанним способом.
Всі імена стовпців, які наведені в операторі Select, повинні бути присутніми в операторі GROUP BY – за виключенням тих випадків, коли ім’я стовпця використовується в агрегатній функції.
Стандартом ISO визначено, що при проведенні групування всі відсутні значення розглядаються як рівні. Якщо два рядка таблиці в одному й тому ж стовпці, який групується, містять значення Null та ідентичні значення у всіх інших непустих стовпцях, які групуються, вони розміщуються в одну й ту ж групу.