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.