예제로 익히는 SQL - 1회차

Suhyeon Lee·2024년 10월 1일
0

강의 개요

  • 데이터분석가의 기본 역량인 SQL의 기초 및 응용 개념 학습
  • 다양한 데이터셋을 활용한 문제 풀이
  • 과제

커리큘럼

1회차

  • DATA, DB, QUERY, SQL이란?
  • SQL의 작성순서 및 작동순서

2회차

  • SQL 기본구조: SELECT, FROM
  • SQL 조건문: WHERE
  • SQL 조건문: CASE WHEN
  • 조건문에 사용되는 연산자

3회차

  • SQL 집계함수: AVG, MIN, MAX, MEDIAN, SUM, COUNT
  • SQL 그룹화: GROUP BY, HAVING(+WHERE 과 차이점)
  • SQL 내부 중첩: SUB QUERY

4, 5회차

  • 테이블 결합: UNION
  • 테이블 결합: JOIN



1회차

목표

  • 데이터 분석가가 하는 일 알아보기
  • 캠프를 통해 배우는 내용 이해하기
  • SQL 알아보기
  • DATA, DB, QUERY, SQL 기본 개념 숙지하기

1. 데이터 분석가는 어떤 일을 하나요?

  • 주요 업무
    • 현 상태를 "숫자"로 확인 후 문제 정의 및 해결 방안 제시하는 역할 담당 → 최종적으로는 비즈니스 개선에 도움이 되는 중요한 역할 담당
    • 데이터 추출
      • 타 팀으로부터 요청받은 내용을 기반으로 데이터를 추출하여 유관부서에 공유
    • 데이터 가공
      • SQL, Python 을 통해 데이터를 추출한 뒤, 데이터를 전처리(이상치, 결측치 처리)하고 정합성을 검증
      • 가설 검증, 군집분석, 모델생성, 회귀분석, 상관관계분석, 퍼널분석 등을 진행
      • 머신러닝, 딥러닝을 통해 새로운 모델을 개발
    • 데이터 시각화
      • 가공한 데이터를 시각화
        (예) tableau, Quicksight, Looker Studio etc.
    • 인사이트 도출
      • 분석보고서를 작성하여, 데이터를 통해 현 시점의 문제제기와 해결방안을 제시
      • 타 팀에게 이를 공유하여, 비즈니스 전략 수립에 기여
    • 데이터 분석가는 "떠먹여 주는" 사람
      • 숫자로 던져주고 끝이 아니라 '시각화'하여 의견 제출까지가 업무
  • 데이터 분석 역량이 가지는 이점
    • 전문성을 더해주는 연결고리
      • 기업의 목표 == 이익창출
      • 기업에서는 KPI 달성을 위해 다양한 실험을 진행하고, 이러한 시험의 결과를 확인하고 비교할 수 있게 해주는 영역이 바로 데이터 분석 → 마케팅, 기획 직군과 긴밀한 연결
    • 내가 생각한 것을 검증하고 이를 설득력 있게 전달할 수 있게 됨
  • 데이터 엔지니어, 데이터 사이언티스트, 데이터 분석가 차이
    • 데이터 엔지니어
    • 데이터 분석가
    • 데이터 과학자

2. 본 캠프를 통해 우리가 가져갈 수 있는 것은?

3. 가장 기본! SQL입니다.

4. DATA, DB, QUERY, SQL 기본 개념

데이터

  • 문자, 숫자, 이미지, 영상, 음성 형태의 정보

DB(DataBase)

DBMS(DataBase Management System)

  • DB에 접근하기 위해 설치하는 소프트웨어
  • DBMS: DB에 규칙성 및 정합성을 부여하여, 데이터 등록/정리/검색이 용이하도록 하는 소프트웨어 시스템

Software system

QUERY

  • DB에 접근하기 위한 질의
  • DB에서 정보를 요청하고 결과를 얻기 위해 사용하는 언어
  • SQL은 QUERY 중 하나
    • SQL == 관계형 데이터베이스 관리 시스템에서 데이터를 관리하고 처리하기 위해 표준화된 언어

5. SQL 작동순서 및 작성순서

작동 순서

  • SQL이 내부적으로 인지하고 작동하는 순서
  • 작성 순서와 다름
  • FROM → ON → JOIN → WHERE → GROUP BY → HAVING → SELECT → DISTINCT → ORDER BY
    • 어디서 → 어떤 조건 → 테이블 몇 개 하나로 → 어떤 거 볼 건지 → 기준(그룹) → 기준2 → 선택한 것만 → 중복 없이 → 특정 순서로
    • 테이블을 확인한 후, 조인 조건을 확인하고, 조인 후 추출 조건을 확인
    • 그 뒤로 데이터 그룹화, 추출, 중복제거 후 마지막으로 데이터를 정렬
  • 작동 순서를 이해해야 나중에 구문 작성 후 에러 발생했을 때 문제를 빨리 해결할 수 있음

작성 순서

    SELECT
        A.REST_ID
        , REST_NAME
        , FOOD_TYPE
        , FAVORITES
        , ADDRESS
        , ROUND(AVG(REVIEW_SCORE), 2) SCORE
    FROM
        REST_INFO A
        INNER JOIN REST_REVIEW B
            ON A.REST_ID = B.REST_ID
    WHERE
        A.ADDRESS LIKE '서울%'
    GROUP BY
        A.REST_ID
    ORDER BY
        SCORE DESC
        , FAVORITES DESC;
profile
2 B R 0 2 B

0개의 댓글