AI Engineering Tools

데이터 분석

SQL·데이터베이스 분석 용어

분석 SQL에서 사용하는 관계형 구조, 키, 필터, 조인, 그룹화, 집계, CTE, 윈도우 함수 용어를 설명합니다.

12 개 용어

관계형 구조

테이블

Table

행과 이름이 있는 열로 구성된 관계형 데이터 구조입니다.

언제 쓰나

엔터티, 사건, 기준 정보, 분석 결과를 저장할 때 사용합니다.

활용 예시

analytics.orders(order_id, customer_id, amount, ordered_at)

관계형 구조

행과 열

Row and column

행은 하나의 레코드, 열은 자료형이 정의된 하나의 속성을 나타냅니다.

언제 쓰나

쿼리하기 전에 각 행의 단위와 각 열의 의미를 확인합니다.

활용 예시

One row = one order; amount = gross order value.

관계형 구조

기본 키

Primary key

테이블의 각 행을 고유하게 식별하는 열 또는 열의 조합입니다.

언제 쓰나

고유성을 보장하고 관련 레코드를 안정적으로 연결할 때 사용합니다.

활용 예시

PRIMARY KEY (order_id)

관계형 구조

외래 키

Foreign key

다른 테이블의 키를 참조하는 열 또는 열 조합입니다.

언제 쓰나

테이블 관계를 표현하고 참조 무결성을 보호할 때 사용합니다.

활용 예시

orders.customer_id REFERENCES customers.customer_id

조회

SELECT

SELECT

데이터 원천에서 열이나 계산식을 조회하는 SQL 문입니다.

언제 쓰나

분석 의도를 명확히 하도록 필요한 열만 지정합니다.

활용 예시

SELECT order_id, amount FROM orders;

조회

WHERE

WHERE

그룹화와 집계 전에 입력 행을 필터링하는 절입니다.

언제 쓰나

날짜, 상태, 지역, 품질 같은 행 단위 조건에 사용합니다.

활용 예시

WHERE ordered_at >= DATE '2026-01-01'

조회

JOIN

JOIN

일치 조건을 이용해 여러 테이블의 행을 결합하는 연산입니다.

언제 쓰나

일치하지 않는 행을 보존할지에 따라 내부·외부 조인을 선택합니다.

주의

의도치 않은 행 증가를 막기 위해 조인 전에 키의 고유성을 확인합니다.

활용 예시

FROM orders o LEFT JOIN customers c ON c.customer_id = o.customer_id

집계

GROUP BY

GROUP BY

선택한 값이 같은 행을 묶어 집계할 수 있게 하는 절입니다.

언제 쓰나

날짜, 제품, 지역 같은 차원별로 데이터를 요약할 때 사용합니다.

활용 예시

GROUP BY order_date, region

집계

집계 함수

Aggregate function

여러 입력 행에서 하나의 요약 값을 계산하는 함수입니다.

언제 쓰나

지표 정의에 따라 COUNT, SUM, AVG, MIN, MAX를 사용합니다.

활용 예시

SELECT region, SUM(amount) AS revenue FROM orders GROUP BY region;

집계

HAVING

HAVING

집계가 계산된 뒤 그룹을 필터링하는 절입니다.

언제 쓰나

원본 행이 아니라 집계 결과에 조건을 적용할 때 사용합니다.

활용 예시

HAVING COUNT(*) >= 100

고급 분석

공통 테이블 표현식(CTE)

Common table expression (CTE)

WITH로 정의하고 큰 쿼리 안에서 사용하는 이름 있는 임시 쿼리 결과입니다.

언제 쓰나

여러 단계의 변환을 구성하고 가독성을 높일 때 사용합니다.

활용 예시

WITH monthly_sales AS (...) SELECT * FROM monthly_sales;

고급 분석

윈도우 함수

Window function

개별 결과 행을 유지하면서 관련 행의 범위에 걸쳐 계산하는 함수입니다.

언제 쓰나

순위, 누적합, 이동 평균, 이전 기간 비교에 사용합니다.

활용 예시

SUM(amount) OVER (PARTITION BY customer_id ORDER BY ordered_at)