1.Знайти середнє нормативне навантаження викладачів до зменшення і після зменшення навантаження на 10% :
Запит для випадку „до зменшення”
SELECT AVG(POSADA.NormPost) AS [Avg-NormPost] FROM VYKLADACH INNER JOIN POSADA ON VYKLADACH.KodPost = POSADA.KodPost;
Отримаємо
Avg-NormPost
Запит для випадку „після зменшення”
SELECT AVG(0.9*[NormPost]) AS Avg_NormPost_New FROM VYKLADACH INNER JOIN POSADA ON VYKLADACH.KodPost = POSADA.KodPost;
Отримаємо
Avg_NormPost_New
Аналогічно спрацьовують функції SUM, MAX, MIN.
Функції COUNT та COUNT(*)
Не дивлячись на схожість цих функцій, вони використовуються для різних цілей. COUNT в якості аргументу використовує стовпець та підраховує загальну кількість його ненульових значень, тоді як COUNT(*) знаходить загальну кількість рядків, незалежно від наявності в них нульових значень.
Розглянемо на прикладі. Для цього скористаємося запитом з лівим з’єднанням (він вже був наведений вище.
FROM VYKLADACH LEFT JOIN POSADA2 ON VYKLADACH.KodPost = POSADA2.KodPost;
Результат запиту:
KodVykl
PrizvVykl
PostVykl
Середа І.С.
професор
Бандур М.М.
доцент
Мунтян Р.Д.
професор
Сірко В.В.
доцент
Опришко Ю.Й.
доцент
Турчак А.Д.
Як бачимо, одне із значень поля PostVyklне визначено (має значення Null). Хай ця таблиця має назву Query2. Застосуємо два способи використання функції COUNT() і наведемо результати застосування.
SELECT COUNT(Query2.PostVykl) AS [Count-PostVykl] FROM Query2;
Count-PostVykl
SELECT COUNT(*) AS [Count-PostVykl] FROM Query2;
Count-PostVykl
Результати відрізняються, тому що один рядок у віртуальній таблиці (запиті) містить нульове значення в стовпчику PostVykl. При використанні стовпчика без нульових значень результати роботи функції CОUNT і COUNT(*) будуть однакові.