[MySQL] SQL 기초 2: 집계, 함수 및 테이블 결합(JOIN)

icehugger·2026년 4월 15일

training

목록 보기
6/8

1. 집계 함수 및 그룹화

여러 행의 데이터를 요약하여 통계를 산출한다.

집계 함수: COUNT(*), SUM(), AVG(), MAX(), MIN()

GROUP BY: 특정 컬럼을 기준으로 데이터를 그룹화

HAVING: 그룹화된 결과에 대한 필터링 (집계 함수 결과를 조건으로 사용 가능)

SELECT 상품ID, SUM(수량) AS '총판매량'
FROM 매출데이터
GROUP BY 상품ID
HAVING SUM(수량) >= 50;

2. 주요 함수 및 형식 변환

날짜/시간 함수: NOW() (현재 일시), CURDATE() (현재 날짜)

DATE_FORMAT: 날짜 데이터의 표시 형식 지정

SELECT DATE_FORMAT(처리일시, '%Y-%m-%d') AS '판매일' FROM 매출데이터;

DUAL 테이블: MySQL에서는 단순 계산이나 함수 결과 확인 시 FROM 절을 생략할 수 있다.

3. 테이블 결합 (JOIN)

여러 테이블을 공통 컬럼을 기준으로 연결하여 조회한다.

INNER JOIN: 양쪽 테이블에 공통된 값이 있는 행만 결합

SELECT P.상품명, M.수량
FROM 상품마스터 P
INNER JOIN 매출데이터 M ON P.상품ID = M.상품ID;

LEFT OUTER JOIN: 왼쪽 테이블의 모든 행을 유지하며 오른쪽 테이블을 결합 (매칭되지 않으면 NULL 표시)

SELECT P.상품명, M.수량
FROM 상품마스터 P
LEFT OUTER JOIN 매출데이터 M ON P.상품ID = M.상품ID;

4. 다중 테이블 결합

3개 이상의 테이블을 순차적으로 결합하여 상세 정보를 조회한다.

SELECT T.담당자명, P.상품명, M.수량
FROM 매출데이터 M
INNER JOIN 담당자마스터 T ON M.담당자ID = T.담당자ID
INNER JOIN 상품마스터 P ON M.상품ID = P.상품ID;

0개의 댓글