Групування, агрегування і значення NULL

Якщо ви маєте намір групувати та (або) агрегувати відношення, деякі атрибути яких дорівнюють NULL, треба мати на увазі наступне.

  • У процесі агрегування значення NULL не враховуються ні в сумі, ні в середньому (тобто суму ділимо на кількість непустих значень), ні в мінімумі або максимумі, ні в лічильнику. Напр., COUNT(*) – число кортежів, а COUNT(A) – число непустих значень A.
  • Навпаки, при групуванні значення NULL у групуючому атрибуті трактується як звичайне значення, яке відрізняється від інших, не NULL. Наприклад, якщо хоча б один кортеж відношення R містить у компоненті атрибута a значення NULL, при виконанні запиту

SELECT a, AVG(b) FROM R GROUP BY a;

у підсумковому відношенні буде створений окремий кортеж зі значенням NULL для a та деяким значенням AVG(b).

Послідовність речень у SQL-запитах

FROM Має бути наступна послідовність:

SELECT Обов’язкове речення
FROM Обов’язкове речення
WHERE  
GROUP BY  
HAVING Можна задати лише в разі наявності речення GROUP BY
ORDER BY  

Мова SQL. Модифікація бази даних. Визначення схем відношень. Віртуальні таблиці. – 2 год.

До модифікації БД відносяться:

  1. Вставка (insertion) нових кортежів у відношення;
  2. видалення (deletion) певних кортежів з відношення;
  3. оновлення (updating) значень деяких компонентів у певних існуючих кортежах відношень.

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: