본문 바로가기
데이터베이스

SQL 핵심 문법과 쿼리 최적화 정리

by 매일기술사 2026. 4. 6.
Database · 한장정리

[기술사토픽] SQL & 관계 대수 완벽 정리 - 한장정리

DDL·DML·DCL·TCL 구분, 관계 대수 연산, 집계함수·윈도우함수·서브쿼리까지 기술사 빈출 주제를 완벽 정리합니다.

SQLDDLDML관계대수윈도우함수서브쿼리데이터베이스정보관리기술사

Ⅰ.SQL 명령어 체계

개념: SQL(Structured Query Language)은 관계형 DB를 정의·조작·제어하기 위한 표준 언어입니다.

분류명령어설명
DDL(정의)CREATE·ALTER·DROP·TRUNCATE테이블·뷰·인덱스 구조 정의
DML(조작)SELECT·INSERT·UPDATE·DELETE데이터 조회·삽입·수정·삭제
DCL(제어)GRANT·REVOKE접근 권한 부여·회수
TCL(트랜잭션)COMMIT·ROLLBACK·SAVEPOINT트랜잭션 제어
나. 관계 대수 핵심 연산
연산기호설명
선택(Select)σ조건 만족 튜플 추출 (행)
추출(Project)π특정 속성만 추출 (열)
조인(Join)공통 속성으로 결합
합집합두 릴레이션 합
차집합한쪽에만 있는 튜플
카티션곱×모든 조합
시험 포인트

TRUNCATE vs DELETE: TRUNCATE=DDL(롤백 불가·빠름) / DELETE=DML(롤백 가능·느림)
관계 대수는 절차적, SQL은 비절차적(선언형) 언어.

Ⅱ.고급 SQL — 윈도우함수·서브쿼리·조인

가. 윈도우 함수

윈도우 함수는 GROUP BY 없이 집계와 행 정보를 동시에 유지하는 OLAP 함수입니다.

함수설명
ROW_NUMBER()파티션 내 행 번호 (동점 구별)
RANK()동점 있으면 같은 순위·건너뜀
DENSE_RANK()동점 있어도 순위 건너뛰지 않음
LAG()/LEAD()이전/다음 행 값 참조
SUM() OVER()누적합
NTILE(n)n등분 버킷 번호
나. 조인 유형
조인설명
INNER JOIN양쪽 모두 일치하는 행만
LEFT OUTER JOIN왼쪽 전체 + 오른쪽 일치
RIGHT OUTER JOIN오른쪽 전체 + 왼쪽 일치
FULL OUTER JOIN양쪽 전체
CROSS JOIN모든 조합 (카티션곱)
SELF JOIN자기 자신과 조인
시험 포인트

윈도우함수 문법: 함수() OVER (PARTITION BY 컬럼 ORDER BY 컬럼)
서브쿼리 유형: 스칼라(단일값)·인라인뷰(FROM절)·중첩(WHERE절)

Ⅲ.결론

결론

SQL은 DB의 공통 언어이며, 윈도우함수·CTE·재귀쿼리 등 고급 기능으로 복잡한 분석을 표현합니다.
향후 NewSQL·분산 SQL(SparkSQL·Presto)로 확장되고 있습니다.

"SQL을 잘 쓰는 것은 데이터를 생각하는 능력이다."

블로그: 기술사 학습노트 · imt-log.tistory.com