Sobes.tech
Middle

Co zwracają funkcje agregujące i nieagregujące w zapytaniu SQL?

sobes.tech AI

Odpowiedź od AI

Funkcje agregujące w SQL zwracają jedną wartość, która jest wynikiem obliczenia na grupie wierszy. Na przykład funkcje SUM(), COUNT(), AVG(), MAX(), MIN() agregują dane i zwracają końcową wartość.

Funkcje nieagregujące (funkcje skalara) są stosowane do pojedynczych wartości i zwracają wynik dla każdego wiersza. Na przykład funkcje operujące na łańcuchach (UPPER(), LOWER()), funkcje matematyczne (ABS(), ROUND()) zwracają przekształconą wartość dla każdego rekordu.

Przykład:

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

Tutaj COUNT(*) to funkcja agregująca, która zwraca liczbę pracowników w każdym dziale.

W przeciwieństwie do tego:

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

UPPER() to funkcja nieagregująca, która zwraca przekształconą wartość dla każdego wiersza.