Sobes.tech
Middle

Какво връщат агрегатните и неагрегатните функции в SQL заявка?

sobes.tech AI

Отговор от AI

Агрегатните функции в SQL връщат една стойност, която е резултатът от изчислението върху група от редове. Например, функциите SUM(), COUNT(), AVG(), MAX(), MIN() агрегират данните и връщат крайна стойност.

Неагрегатните функции (скаларни функции) се прилагат към отделни стойности и връщат резултат за всеки ред. Например, функции за работа със стрингове (UPPER(), LOWER()), математически функции (ABS(), ROUND()) връщат преобразувана стойност за всеки запис.

Пример:

SELECT department_id, COUNT(*) AS employee_count
FROM employees
GROUP BY department_id;

Тук COUNT(*) е агрегатна функция, която връща броя на служителите във всеки отдел.

За разлика от това:

SELECT employee_name, UPPER(employee_name) AS name_upper
FROM employees;

UPPER() е неагрегатна функция, която връща преобразувана стойност за всеки ред.