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)