데이터 분석 스킬 up 필요한 직장인이 들어야 할 sql 강의
K-디지털 기초역량훈련: 인사이트 콘텐츠

# SQL 강의 #내일배움카드 #국비지원 #SQL무료강의


글 미리보기

1. SQL 데이터 분석의 기본 개념과 프로세스
1-1. SQL 데이터 분석의 기본 개념
1-2. 데이터 분석 프로세스
1-3. SQL 기본 쿼리 소개
2. 국비지원 강의로 배우는 SQL 데이터 분석 활용과 관련한 몇 가지 사례


출처: Unsplash

최근 많은 직장인들이 데이터 분석 스킬을 개발하고자 다양한 노력을 기울이고 있습니다. 데이터 분석을 위한 프로그래밍 언어로는 SQL과 Python이 대표적인데요. 각 언어별로 활용되는 대표적인 케이스는 다음과 같습니다.

⦁ SQL: 일반적으로 IT 회사 내에서 사용되며 다양한 데이터를 MS Excel이 아닌 데이터베이스에 직접 접근하여 조회, 가공 및 분석해야 하는 경우

⦁ Python: Pandas, Numpy, Scipy 등의 라이브러리를 활용하여 복잡하고 용량이 큰 대규모 연산 또는 최적화 등의 과학적 프로그래밍을 해야 하는 경우

오늘은 위 2가지 데이터 언어 중에서 SQL을 활용한 데이터 분석과 실무에서의 중요성을 말씀드리도록 하겠습니다.

1. SQL 데이터 분석의 기본 개념과 프로세스

1) SQL 데이터 분석의 기본 개념

데이터 분석이라는 말 자체가 상당히 추상적이고 엄밀하게 정의된 용어는 아닙니다. 다만, 시장에서 일반적으로 통용되는 데이터 분석의 경우 SQL을 자유자재로 활용하여 데이터를 추출, 가공, 분석하는 프로세스라고 이해할 수 있습니다.

오히려 데이터 분석이라는 프로세스가 갖는 목적이 중요할 것 같은데요. 최근에는 비즈니스의 각 기능별로 데이터 분석을 특화하여 채용이 진행되는 경우도 많습니다. 전통적인 IT 제품 기능 개선을 위한 실험적 데이터 분석 이외에도 HR, 마케팅, 경영전략 등 다양한 조직에서 SQL 기반 데이터 분석 역량을 요구하고 있습니다.

2) 데이터 분석 프로세스

수많은 조직에서 실행되고 있는 데이터 분석 프로세스들을 일반화해볼 때, 다음과 같은 절차를 거치게 됩니다.

문제 정의 => 구조화 분석 => 가설 설정 => 가설 검증 => 액션플랜 도출

1. 문제 정의: 특정 제품 또는 비즈니스 내에서 문제가 되고 있는 현상을 논리적으로 정의

2. 구조화 분석: 정의된 문제의 각 요소를 분해해서 가설 설정에 필요한 변수와 이에 대한 실험을 설계

3. 가설 설정: 실험을 통해 검증하고자 하는 가설을 설정함

4. 가설 검증: 설계한 실험을 바탕으로 가설을 검증

5. 액션플랜 도출: 가설 검증 결과에 따라, 현상을 유지할 것인지 별도의 액션을 가할 것인지 등을 선택 및 실행

출처: 클립아트이미지

3) SQL 기본 쿼리 소개

기본 쿼리: SELECT 컬럼명 FROM 테이블명

RDB에서 SQL을 사용하여 데이터를 추출하는 작업을 “쿼리(Query)”한다고 합니다. 이 때, “SELECT” 절, 그리고 “FROM” 절을 아는 것이 쿼리의 가장 기본적인 지식입니다. SELECT는 테이블에 저장된 특정 컬럼을 불러오는 것이고, FROM은 어느 테이블에서 해당 컬럼을 추출할 것인지를 정의하기 위해 사용합니다

예를 들어, “동물" 이라는 테이블이 있다고 할 때 컬럼은 [“동물코드", “동물이름", “나이"]와 같은 컬럼이 3개 존재한다고 해보겠습니다. 이 때, 모든 동물의 이름을 출력하는 SQL 쿼리는 다음과 같습니다.

SELECT 동물이름 FROM 동물

조건절의 사용 (WHERE)

우리가 어떤 데이터를 추출할 때에는 기본적으로 특정 조건을 사용합니다. 위 동일한 예시를 기준으로 조건만 추가하여 새로운 쿼리를 작성해보겠습니다.

“동물" 테이블에 저장된 모든 동물 중에서 나이가 10세 미만인 동물만 추출하고 싶다면 어떤 문법을 사용해야 할까요? SQL의 세계에서는 “WHERE” 절을 사용하여 특정 데이터의 조건을 필터링할 수 있습니다. WHERE을 추가하여 위 쿼리를 재작성하면 다음과 같습니다.

SELECT “동물이름" FROM “동물" WHERE “나이" < 10

함수의 사용

우리가 엑셀에서 효율적인 데이터 연산을 하기 위해 주로 사용하는 것이 있습니다. 바로 함수(function)입니다. SQL 역시 데이터 제어용 언어이기 때문에 다양한 함수들을 제공하고 있습니다. 가장 많이 사용되는 함수는 아무래도 데이터 집계용 함수일 것 같은데요. 엑셀과 마찬가지로 COUNT(), SUM(), AVG(), MIN(), MAX() 등 기본적인 데이터 집계 목적의 함수를 제공하고 있습니다.

마찬가지로, 위 테이블을 기준으로 “모든 동물의 평균 나이를 계산해줘"라는 요청이 들어왔다면 아래와 같이 쿼리를 작성할 수 있습니다.

SELECT AVG(“나이") FROM “동물"

출처: Unsplash

2. 국비지원 강의로 배우는 SQL 데이터 분석 활용과 관련한 몇 가지 사례

직장인분들이 SQL 관련 스킬 업그레이드를 하려면 국비지원 교육과정에 참여하는 것도 좋은 방법이 될 수 있습니다. 이와 관련하여, 패스트캠퍼스 SQL 입문 강좌에서 소개되고 있는 실무 예제를 간단히 살펴보면서 자신에게 SQL 데이터 분석 과정이 잘 맞을지 판단해보시면 좋을 것 같습니다.

실무 사례 1) 고객 세그먼트별 매출 분석해보기
고객의 정보와 매출 정보가 결합된 “매출"이라는 테이블이 존재한다고 가정할 때, 고객 세그먼트별 매출을 분석하기 위해 선행되어야 할 것은 “고객 세그먼트"의 정의입니다. 만약 여성 의류 커머스 웹사이트를 운영하는 회사에서 20대 여성으로부터 발생한 5월 매출을 추출해야 한다면 어떻게 해야 할까요?

매우 다양한 방식으로 고객군을 정의할 수 있겠지만 가장 간단하게 세그먼트를 정의하는 방법은 엑셀의 필터 기능을 사용하는 것과 마찬가지로 “WHERE” 조건에 고객 조건을 정의하면 됩니다. “20대 여성으로부터 발생한 매출"만을 추출 및 조회하는 쿼리는 아래와 같습니다. (매출 테이블에는 [매출액, 성별, 나이] 라는 필드가 포함되어 있는 상태입니다)

SELECT “매출액" FROM 매출 WHERE “성별” = “여성" AND ”나이” BETWEEN 20 AND 29

실무 사례 2) DAU 계산하기
DAU는 Daily Average User의 약자로, 일평균 유저 수를 의미합니다. 웹/앱 제품 내에서의 활동성을 파악하기 위한 대표적인 지표입니다. 예를 들어, 5월의 평균 유저수를 계산하려면 “5월의 DAU = 5월 총 이용자 수 / 31일"로 일평균 유저수를 계산할 수 있습니다.

고객의 방문 수가 중복없이 기록되게끔 관리되고 있는 테이블인 “Users" 테이블이 존재한다고 가정하겠습니다. 이 경우, 5월의 DAU를 계산해보면 어떤 쿼리를 작성해야할까요? 아래와 같이 SELECT 문에 DAU를 계산하는 공식을 그대로 입력해주면 됩니다. (Users 테이블에는 [Count, Month] 라는 필드가 포함되어 있는 상태입니다)

SELECT SUM(“COUNT")/31 FROM Users WHERE “Month” = “05”

지금까지 SQL 데이터 분석의 개념과 절차, 그리고 실무 쿼리 사례를 간단하게 살펴보았습니다. SQL 역량은 시간이 갈수록 증가되고 있기 때문에 데이터 관련 스킬셋을 확보하고자 하는 분께서는 Python과 함께 꼭 학습을 병행하시기를 추천드립니다.

이번 글에 작성된 실무 쿼리의 예제는 매우 간편한 형태로 작성한 것으로, 복잡한 쿼리를 작성해보고 싶은 욕심이 있는 분이라면 이번 패스트캠퍼스 국비교육 과정에 참여해보시기를 권장드립니다. 패스트캠퍼스에서 제공하는 SQL 입문 강의에서는 이 콘텐츠에서 소개해드린 모든 SQL 구문에 대한 교육을 자세하게 제공하고 있을 뿐만 아니라, 실무적 관점에서 SQL을 사용하는 방법을 교육하고 있는데요. SQL 입문자라면 내일배움카드 활용으로 국비지원 받으면서 해당 과정에 참여해 보시기를 추천드리겠습니다.


ChatGPT로도 데이터 분석이 가능한 사실 알고 계셨나요? 데이터 분석까지 가능한 만능 ChatGPT를 200% 활용하고 싶다면 아래 강의를 추천드립니다.


다른 인사이트가 더 궁금하다면

이 글과 연관된 주제의 추천 강의