본문 바로가기
IT

데이터 분석에 유용한 SQL 함수: 통계와 필터링

by 카카오망고 2025. 5. 8.
반응형
COUNT 함수: 데이터 개수 세기

목차

    안녕하세요! 데이터 분석의 세계에 오신 것을 환영합니다. 오늘은 데이터 분석에 유용한 SQL 함수들에 대해 살펴보려고 합니다. SQL은 Structured Query Language의 약자로, 데이터베이스에서 데이터를 관리하고 조작하기 위해 사용하는 프로그래밍 언어입니다. 비즈니스에서 SQL의 중요성은 날로 커지고 있으며, 특히 데이터 분석 업무에서 필수적인 도구로 자리 잡고 있습니다. SQL을 통해 데이터를 효과적으로 쿼리 하고, 필요한 통계 정보를 얻을 수 있으며, 이를 통해 비즈니스 인사이트를 도출할 수 있습니다.

     

    데이터 분석에 있어 SQL 함수의 사용은 매우 다양합니다. 기본적인 집계 함수부터 조건부 함수, 조인 함수까지, 이 함수들은 데이터 분석 과정에서 중요한 역할을 합니다. 이러한 함수들을 활용하여 우리가 원하는 데이터를 추출하고, 분석하며 필요한 인사이트를 도출하는 과정을 살펴보겠습니다. 데이터 분석에 유용한 SQL 함수들을 익히는 것은 마케터, 데이터 분석가, 비즈니스 리더 모두에게 큰 도움이 될 것입니다.

    👉데이터 분석에 유용한 SQL 함수 알아보기

    1. COUNT 함수: 데이터 개수 세기

    SQL에서 COUNT 함수는 특정 조건을 만족하는 데이터의 개수를 세는 데 사용됩니다. 이는 데이터 분석 과정에서 특정 범주나 조건에 따른 데이터의 분포를 이해하는 데 매우 유용합니다. 예를 들어, 고객 데이터를 분석할 때, 특정 연령대의 고객 수를 세거나, 특정 제품의 판매 건수를 파악할 수 있습니다. 이러한 정보는 마케팅 전략을 세우는 데 중요한 기초 자료가 됩니다.

    • COUNT(*) : 테이블의 모든 행을 카운트
    • COUNT(column_name) : 특정 열의 값이 NULL이 아닌 행만 카운트

    예를 들어, 고객 테이블에서 남성 고객 수를 세고 싶다면 아래와 같은 쿼리를 사용할 수 있습니다.

     

    SELECT COUNT(*) FROM customers WHERE gender = 'M';

     

    이처럼 COUNT 함수는 데이터의 양적 측면을 분석하는 데 유용하게 활용됩니다.

    2. SUM 함수: 합계 계산하기

    SUM 함수는 숫자 데이터를 합산하는 데 사용됩니다. 매출, 비용, 판매량 등의 총합을 구해야 할 때 매우 유용합니다. 예를 들어, 특정 제품의 총 판매량이나 월간 매출을 계산할 수 있습니다. 이 정보를 통해 기업은 재정 상태를 평가하고, 예산을 세우는 데 큰 도움을 받을 수 있습니다.

    • SUM(column_name) : 지정한 열의 모든 값을 합산
    • SUM(DISTINCT column_name) : 중복된 값을 제외하고 합산

    예를 들어, 지난 달의 총매출을 계산하고자 한다면 아래와 같은 쿼리를 사용할 수 있습니다.

     

    SELECT SUM(sales_amount) FROM sales WHERE sale_date BETWEEN '2023-09-01' AND '2023-09-30';

     

    이 쿼리를 통해 특정 기간 동안의 매출을 간편하게 계산할 수 있습니다.

    3. AVG 함수: 평균값 계산하기

    데이터 분석에서 평균값을 구하는 것은 매우 중요합니다. AVG 함수는 특정 열의 평균값을 계산하는 데 사용됩니다. 이는 판매량, 고객 만족도 점수 등 여러 지표의 중앙값을 파악하는 데 유용합니다. 평균값을 통해 데이터의 일반적인 경향을 이해하고, 필요에 따라 전략을 수정하는 데 중요한 역할을 합니다.

    • AVG(column_name) : 지정한 열의 평균값 계산
    • AVG(DISTINCT column_name) : 중복된 값을 제외하고 평균값 계산

    예를 들어, 최근 고객 만족도 조사에서 응답자들의 점수 평균을 구하고자 할 때 다음과 같은 쿼리를 사용할 수 있습니다.

     

    SELECT AVG(satisfaction_score) FROM customer_satisfaction;

     

    이렇게 AVG 함수를 사용하면, 쉽게 평균값을 구할 수 있어, 고객의 전반적인 만족도를 파악하는 데 큰 도움이 됩니다.

    👉데이터 분석에 유용한 SQL 함수 바로 보기

    4. GROUP BY: 데이터 집계하기

    GROUP BY 절은 데이터를 특정 열을 기준으로 집계할 때 사용됩니다. 이를 통해 복잡한 데이터 세트를 정리하여 논리적으로 분석할 수 있습니다. 예를 들어, 판매 데이터를 지역별로 그룹화하여 각 지역의 매출을 비교하는 분석을 할 수 있습니다. GROUP BY를 사용하면 데이터의 패턴을 쉽게 파악하고, 필요한 인사이트를 도출할 수 있습니다.

    • GROUP BY column_name : 해당 열을 기준으로 그룹화
    • GROUP BY multiple_columns : 여러 열 기준으로 그룹화

    예를 들어, 지역별 매출을 분석하고자 할 때는 다음과 같은 쿼리를 사용할 수 있습니다.

     

    SELECT region, SUM(sales_amount) FROM sales GROUP BY region;

     

    이 쿼리는 각 지역의 총 매출을 계산하여, 어느 지역에서 더 많은 매출이 발생했는지를 분석하는 데 유용합니다.

    5. JOIN: 여러 테이블 연결하기

    JOIN은 두 개 이상의 테이블에서 관련된 데이터를 연결하여 조회할 때 사용됩니다. 데이터베이스에서 여러 테이블을 사용할 때는 JOIN을 통해 데이터를 효과적으로 통합할 수 있습니다. 예를 들어, 고객 정보와 주문 정보를 결합하여 고객별 구매 내역을 분석할 수 있습니다. JOIN을 통해 필요한 정보를 한 번에 조회할 수 있어 분석의 효율성을 높여줍니다.

    • INNER JOIN : 두 테이블의 일치하는 행만 반환
    • LEFT JOIN : 왼쪽 테이블의 모든 행과 오른쪽 테이블의 일치하는 행 반환
    • RIGHT JOIN : 오른쪽 테이블의 모든 행과 왼쪽 테이블의 일치하는 행 반환

    예를 들어, 고객 테이블과 주문 테이블을 연결하여 고객별 주문 수를 조회하려면 다음과 같은 쿼리를 사용할 수 있습니다.

     

    SELECT c.customer_name, COUNT(o.order_id) FROM customers c LEFT JOIN orders o ON c.customer_id = o.customer_id GROUP BY c.customer_name;

     

    이 쿼리를 통해 각 고객의 주문 수를 한눈에 확인할 수 있습니다.

    6. WHERE 절: 데이터 필터링하기

    WHERE 절은 특정 조건을 만족하는 데이터만 선택하여 조회할 수 있게 해주는 구문입니다. 데이터 분석에서 필요한 정보를 얻기 위해서는 필터링이 필수적입니다. 예를 들어, 특정 기간 내의 판매 데이터만 조회하거나, 특정 조건을 만족하는 고객만 대상으로 분석할 수 있습니다.

    • WHERE condition : 특정 조건에 따라 데이터 필터링
    • AND, OR, NOT : 복합 조건을 설정하여 필터링

    예를 들어, 지난 3개월 간의 매출이 100만 원 이상인 고객만 조회하고자 할 때는 다음과 같은 쿼리를 사용할 수 있습니다.

     

    SELECT * FROM customers WHERE total_sales >= 1000000;

     

    이 쿼리를 통해 매출이 높은 고객을 선별하여 집중 마케팅 전략을 세울 수 있습니다.

    7. HAVING 절: 집계 후 필터링하기

    HAVING 절은 GROUP BY와 함께 사용되며, 집계 후 조건을 설정하여 데이터를 필터링할 수 있게 해 줍니다. 이는 집계된 결과에서 조건을 적용해야 할 때 유용합니다. 예를 들어, 특정 지역의 매출이 특정 수치를 초과하는 경우만 조회하는 데 사용할 수 있습니다.

    • HAVING condition : 집계된 결과에 대해 조건 설정
    • GROUP BY와 결합하여 사용

    예를 들어, 매출이 500만원 이상인 지역만 조회하고자 할 때는 다음과 같은 쿼리를 사용할 수 있습니다.

     

    SELECT region, SUM(sales_amount) FROM sales GROUP BY region HAVING SUM(sales_amount) >= 5000000;

     

    이 쿼리는 높은 매출을 기록한 지역을 분석하여, 집중적인 마케팅 또는 리소스 배분을 고려할 수 있게 합니다.

    8. ORDER BY: 결과 정렬하기

    ORDER BY 절은 쿼리 결과를 특정 열을 기준으로 정렬할 수 있게 해 줍니다. 이는 데이터를 분석할 때 결과를 이해하기 쉽게 만들어주며, 특정 패턴이나 트렌드를 쉽게 파악할 수 있도록 돕습니다. 오름차순, 내림차순으로 정렬할 수 있어 데이터 분석의 직관성을 높여줍니다.

    • ORDER BY column_name ASC : 오름차순 정렬
    • ORDER BY column_name DESC : 내림차순 정렬

    예를 들어, 매출액을 기준으로 고객을 내림차순으로 정렬하고자 한다면 다음과 같은 쿼리를 사용할 수 있습니다.

     

    SELECT customer_name, total_sales FROM customers ORDER BY total_sales DESC;

     

    이 쿼리를 통해 가장 많이 구매한 고객을 쉽게 식별할 수 있습니다.

    FAQ

    Q: SQL을 처음 시작하는데 어떤 함수부터 배우면 좋을까요?
    A: COUNT, SUM, AVG와 같은 기본 집계 함수를 우선적으로 배우는 것이 좋습니다. 이후 JOIN, GROUP BY, WHERE와 같은 구문을 익히면 데이터 분석의 기초를 확고히 할 수 있습니다.

     

    Q: 데이터 분석에 필요한 SQL 함수는 어떤 것들이 있나요?
    A: 데이터 분석에는 COUNT, SUM, AVG, GROUP BY, JOIN, WHERE, HAVING, ORDER BY 등의 함수와 절들이 필요합니다. 이 함수들을 잘 활용하면 다양한 데이터 분석 작업을 수행할 수 있습니다.

     

    Q: SQL 쿼리를 작성할 때 주의해야 할 사항은 무엇인가요?
    A: SQL 쿼리를 작성할 때 주의할 점은 데이터베이스의 스키마를 정확히 이해하고, 필요한 데이터만을 쿼리 하여 성능을 최적화하는 것입니다. 또한, SQL 구문에서의 대소문자 구분과 문법 오류를 피하는 것이 중요합니다.

     

    오늘은 데이터 분석에 유용한 SQL 함수들에 대해 알아보았습니다. 이 함수들을 잘 활용하면 데이터 분석 과정이 한층 수월해지고, 비즈니스 인사이트를 효과적으로 도출할 수 있습니다. SQL 함수의 다양성과 이를 활용한 데이터 분석 기법을 통해 더 나은 의사결정과 전략 수립이 가능해질 것입니다. 앞으로도 지속적으로 SQL을 연습하여 데이터 분석 능력을 향상하시기를 바랍니다. 감사합니다!

    👉데이터 분석에 유용한 SQL 함수 알아보기

    반응형