비개발자도 쉽게 따라할 수 있는 SQL: 정렬 및 집계 이해하기

SQL은 데이터를 분석하거나 처리할 때 꼭 필요한 도구입니다. 특히 비개발자라도 기본적인 SQL 문법을 이해하면 업무에서 큰 도움을 받을 수 있습니다. 오늘은 그중에서도 데이터를 정렬하고 집계하는 방법에 대해 쉽게 알아보겠습니다.

1. 데이터를 정렬하기 (ORDER BY)

SQL에서 데이터를 정렬할 때는 ORDER BY 구문을 사용합니다. 정렬은 원하는 데이터를 보기 좋게 정리하는 첫 번째 단계입니다.

기본 구문

SELECT 컬럼1, 컬럼2
FROM 테이블명
ORDER BY 정렬할_컬럼 [ASC|DESC];
  • ASC: 오름차순 (기본값)
  • DESC: 내림차순

예제 1: 직원 데이터를 이름 순으로 정렬하기

SELECT name, department, salary
FROM employees
ORDER BY name ASC;

이 쿼리는 직원 이름을 기준으로 데이터를 오름차순으로 정렬합니다.

예제 2: 급여를 기준으로 높은 순서로 정렬하기

SELECT name, department, salary
FROM employees
ORDER BY salary DESC;

이 쿼리는 급여를 기준으로 데이터를 내림차순으로 정렬합니다.

TIP: 정렬 기준을 여러 개 지정할 수도 있습니다.

SELECT name, department, salary
FROM employees
ORDER BY department ASC, salary DESC;

이 쿼리는 부서를 기준으로 오름차순 정렬한 후, 같은 부서 내에서는 급여를 내림차순으로 정렬합니다.


2. 데이터를 집계하기 (GROUP BY)

집계는 데이터를 그룹화하여 요약된 정보를 얻는 데 사용됩니다.

기본 구문

SELECT 그룹화할_컬럼, 집계함수(컬럼)
FROM 테이블명
GROUP BY 그룹화할_컬럼;
  • GROUP BY: 데이터를 그룹화
  • 집계 함수:
    • SUM(): 합계
    • AVG(): 평균
    • MAX(): 최대값
    • MIN(): 최소값
    • COUNT(): 개수

예제 1: 부서별 평균 급여 구하기

SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department;

이 쿼리는 각 부서의 평균 급여를 계산합니다. 결과는 다음과 같이 나타납니다:

departmentavg_salary
HR5000
IT7000
Sales6000

예제 2: 부서별 직원 수 구하기

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

이 쿼리는 각 부서에 소속된 직원 수를 계산합니다.

예제 3: 조건 추가하기 (HAVING)

HAVING 구문을 사용하면 그룹화된 결과에 조건을 추가할 수 있습니다.

SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department
HAVING AVG(salary) > 6000;

이 쿼리는 평균 급여가 6000 이상인 부서만 출력합니다.


3. 정렬과 집계를 함께 사용하기

정렬과 집계를 조합하면 분석에 더 유용한 데이터를 얻을 수 있습니다.

예제: 직원 수가 많은 부서 상위 3개 출력하기

SELECT department, COUNT(*) AS employee_count
FROM employees
GROUP BY department
ORDER BY employee_count DESC
LIMIT 3;

이 쿼리는 직원 수를 기준으로 부서를 내림차순 정렬하고, 상위 3개 부서만 출력합니다.


4. 실제 데이터로 연습해보기

가상의 데이터셋

아래는 간단한 employees 테이블의 예시 데이터입니다:

namedepartmentsalary
AliceHR5000
BobIT7000
CarolSales6000
DaveIT8000
EveHR4500

위 데이터를 활용해 직접 SQL을 작성해보세요.


마무리

오늘은 SQL의 ORDER BYGROUP BY를 활용해 데이터를 정렬하고 집계하는 방법을 알아봤습니다. 위에서 다룬 기본 예제들만 익혀도 실무에서 데이터를 더 잘 이해하고 활용할 수 있을 것입니다.

더 궁금한 내용이 있다면 댓글로 남겨주세요!

댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다