여러 행의 데이터를 요약하여 통계를 산출한다.
집계 함수: COUNT(*), SUM(), AVG(), MAX(), MIN()
GROUP BY: 특정 컬럼을 기준으로 데이터를 그룹화
HAVING: 그룹화된 결과에 대한 필터링 (집계 함수 결과를 조건으로 사용 가능)
SELECT 상품ID, SUM(수량) AS '총판매량'
FROM 매출데이터
GROUP BY 상품ID
HAVING SUM(수량) >= 50;
날짜/시간 함수: NOW() (현재 일시), CURDATE() (현재 날짜)
DATE_FORMAT: 날짜 데이터의 표시 형식 지정
SELECT DATE_FORMAT(처리일시, '%Y-%m-%d') AS '판매일' FROM 매출데이터;
DUAL 테이블: MySQL에서는 단순 계산이나 함수 결과 확인 시 FROM 절을 생략할 수 있다.
여러 테이블을 공통 컬럼을 기준으로 연결하여 조회한다.
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;
3개 이상의 테이블을 순차적으로 결합하여 상세 정보를 조회한다.
SELECT T.담당자명, P.상품명, M.수량
FROM 매출데이터 M
INNER JOIN 담당자마스터 T ON M.담당자ID = T.담당자ID
INNER JOIN 상품마스터 P ON M.상품ID = P.상품ID;