Skip to Content

SQL (Structured Query Language)

데이터베이스와 대화하기 위한 표준 언어, SQL의 핵심 원리를 다룹니다.

필수Internal

1. 논리적 실행 순서 (Logical Order of Execution)

SQL을 작성하는 순서(SELECT -> FROM…)와 실제로 데이터베이스가 실행하는 순서는 다릅니다. 이를 모르면 에러가 발생합니다.

  1. FROM / JOIN: 데이터를 가져올 테이블을 먼저 찾습니다.
  2. WHERE: 조건에 맞지 않는 행(Row)을 미리 걸러냅니다. (성능 핵심)
  3. GROUP BY: 남은 데이터를 그룹으로 묶습니다.
  4. HAVING: 그룹화된 데이터 중 조건을 만족하는 그룹만 남깁니다.
  5. SELECT: 출력할 컬럼을 선택하고 계산합니다. (Window Function도 이때!)
  6. ORDER BY: 결과를 정렬합니다.
  7. LIMIT: 개수를 제한합니다.

Why?: SELECT에서 만든 별칭(Alias)을 WHERE 절에서 못 쓰는 이유가 바로 이것입니다. WHERESELECT보다 먼저 실행되기 때문입니다!

2. 집합 이론 (Set Theory)

JOIN은 **집합(Set)**의 개념입니다.

  • INNER JOIN: 교집합 (ABA \cap B) - 두 테이블 모두에 있는 데이터.
  • LEFT JOIN: AA 전체 + (ABA \cap B) - 왼쪽은 다 살리고, 오른쪽은 있으면 붙임.
  • FULL OUTER JOIN: 합집합 (ABA \cup B) - 양쪽 모두 다 살림.
  • CROSS JOIN: 곱집합 (A×BA \times B) - 모든 가능한 조합 (행 개수 곱하기).

커리큘럼 (Curriculum)

1. JOIN (테이블 결합)

여러 테이블을 결합하여 의미있는 데이터를 추출하는 방법을 배웁니다.

2. 널(NULL) 처리

데이터 분석의 가장 큰 적, NULL 값을 안전하게 처리하는 방법을 배웁니다.

3. 문자열 함수

텍스트 데이터를 자르고, 붙이고, 변환하는 방법을 배웁니다.

4. 날짜/시간 함수

시계열 분석의 기초인 DATE, TIMESTAMP 처리법을 배웁니다.

5. 집계와 그룹화

데이터를 요약하여 통찰을 얻는 GROUP BY 기술을 배웁니다.

6. 윈도우 함수 (고급)

행과 행 사이의 관계를 계산하는 SQL의 꽃, 윈도우 함수를 배웁니다.

7. CTE (Common Table Expression)

복잡한 쿼리를 레고 블록처럼 나누어 작성하는 가독성 향상 기술입니다.

Last updated on

🤖AI 모의면접실전처럼 연습하기