COUNT, SUM, AVG, MAX, MIN 등의 집계 함수 활용 (Using Aggregate Functions like COUNT, SUM, AVG, MAX, MIN)
Oracle SQL에서는 데이터를 요약하고 분석하기 위해 다양한 집계 함수를 제공합니다. 주요 함수들은 다음과 같습니다:
COUNT
특정 열 또는 행의 개수를 반환합니다.
SELECT COUNT(column_name) FROM table_name;
예제:
SELECT COUNT(employee_id) FROM employees;
SUM
특정 열의 합계를 계산합니다.
SELECT SUM(column_name) FROM table_name;
예제:
SELECT SUM(salary) FROM employees;
AVG
특정 열의 평균 값을 계산합니다.
SELECT AVG(column_name) FROM table_name;
예제:
SELECT AVG(salary) FROM employees;
MAX
특정 열의 최대 값을 반환합니다.
SELECT MAX(column_name) FROM table_name;
예제:
SELECT MAX(salary) FROM employees;
MIN
특정 열의 최소 값을 반환합니다.
SELECT MIN(column_name) FROM table_name;
예제:
SELECT MIN(salary) FROM employees;
그룹화 (GROUP BY) (Grouping Data with GROUP BY)
GROUP BY 절을 사용하면 데이터를 하나 이상의 열을 기준으로 그룹화할 수 있습니다. 그룹화된 데이터는 집계 함수와 함께 사용됩니다.
SELECT column1, aggregate_function(column2) FROM table_name GROUP BY column1;
예제:
SELECT department_id, AVG(salary) FROM employees GROUP BY department_id;
위 예제에서는 department_id
를 기준으로 그룹화하여 각 부서의 평균 급여를 계산합니다.
그룹화된 데이터 필터링 (HAVING 절) (Filtering Grouped Data with HAVING Clause)
HAVING 절을 사용하면 그룹화된 데이터에 대해 조건을 적용할 수 있습니다. HAVING 절은 GROUP BY 절 다음에 사용되며, 집계 함수의 결과를 기준으로 필터링할 수 있습니다.
SELECT column1, aggregate_function(column2) FROM table_name GROUP BY column1 HAVING condition;
예제:
SELECT department_id, AVG(salary) FROM employees GROUP BY department_id HAVING AVG(salary) > 50000;
위 예제에서는 department_id
를 기준으로 그룹화하고, 각 부서의 평균 급여가 50,000 이상인 부서만 조회합니다.
예제 종합 (Comprehensive Examples)
종합적으로 집계 함수, 그룹화, 그룹화된 데이터 필터링을 사용하는 예제입니다:
SELECT job_id, COUNT(employee_id) AS employee_count, SUM(salary) AS total_salary, AVG(salary) AS average_salary, MAX(salary) AS highest_salary, MIN(salary) AS lowest_salary FROM employees GROUP BY job_id HAVING AVG(salary) > 60000 ORDER BY average_salary DESC;
이 예제에서는 각 직무(job_id
)를 기준으로 다음을 계산합니다:
- 직원 수 (
COUNT(employee_id)
) - 총 급여 (
SUM(salary)
) - 평균 급여 (
AVG(salary)
) - 최고 급여 (
MAX(salary)
) - 최저 급여 (
MIN(salary)
)
또한 평균 급여가 60,000 이상인 직무만 필터링하고, 평균 급여를 기준으로 내림차순 정렬합니다.
Oracle SQL의 집계 함수, GROUP BY 절 및 HAVING 절을 활용하여 데이터를 효과적으로 요약하고 분석할 수 있습니다. 이를 통해 다양한 비즈니스 인사이트를 도출할 수 있습니다.