Sobes.tech
Middle
27

Что возвращают агрегатные и неагрегатные функции в SQL запросе?

Компании, где спрашивали
ИннотехИннотех
Магнит

Ответ от нейросети

sobes.tech 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() — неагрегатная функция, возвращающая для каждой строки преобразованное значение.