RUNWEBTOOLS
한국어

SQL 치트시트

데이터를 조회하고 변경하는 핵심 SQL 문을 작업별로 묶었습니다. 정확한 문법은 데이터베이스(PostgreSQL, MySQL, SQLite, SQL Server)마다 조금씩 다르지만 아래 기본기는 거의 어디서나 통합니다. 지저분한 쿼리를 정리하려면 SQL 포매터를 쓰세요.

업데이트 2026-07-06

조회(SELECT)

하는 일
SELECT * FROM t테이블 t의 모든 열과 행 반환
SELECT a, b FROM t열 a, b만 반환
SELECT DISTINCT a FROM ta의 고유 값 반환
... WHERE a = 5a가 5인 행 필터
... ORDER BY a DESCa 기준 내림차순 정렬
... LIMIT 10최대 10행 반환
... OFFSET 20처음 20행 건너뛰기(페이징)
SELECT COUNT(*) FROM t행 개수 세기
SELECT SUM(a), AVG(a) FROM t집계: a의 합계와 평균
... GROUP BY category카테고리별로 행을 묶어 집계
... HAVING COUNT(*) > 5그룹 필터(집계용 WHERE)

필터(WHERE)

하는 일
WHERE a IN (1, 2, 3)목록 안의 값 중 하나와 일치
WHERE a BETWEEN 1 AND 9범위 일치(양 끝 포함)
WHERE name LIKE 'A%'패턴 일치: A로 시작(% = 임의 문자)
WHERE name LIKE '_at'_는 정확히 한 글자와 일치
WHERE a IS NULLa에 값이 없는 행 일치
WHERE a > 5 AND b < 10AND / OR로 조건 결합

테이블 조인

하는 일
INNER JOIN u ON t.id = u.tid양쪽 테이블에 매칭이 있는 행
LEFT JOIN u ON t.id = u.tid왼쪽 테이블의 모든 행(매칭 여부 무관)
RIGHT JOIN u ON t.id = u.tid오른쪽 테이블의 모든 행
FULL JOIN u ON t.id = u.tid양쪽 테이블의 모든 행

데이터 변경

하는 일
INSERT INTO t (a, b) VALUES (1, 2)새 행 추가
UPDATE t SET a = 5 WHERE id = 1기존 행 변경(WHERE 주의!)
DELETE FROM t WHERE id = 1행 삭제(WHERE 주의!)

스키마(테이블 & 인덱스)

하는 일
CREATE TABLE t (id INT, name TEXT)새 테이블 생성
ALTER TABLE t ADD col TEXT열 추가
DROP TABLE t테이블과 모든 데이터 삭제
CREATE INDEX idx ON t (a)a 조회 속도를 높일 인덱스 추가

지킬 만한 안전 습관: UPDATEDELETEWHERE 절을 먼저 쓰세요. WHERE 없이 실행하면 테이블의 모든 행이 바뀌거나 삭제됩니다.

관련 도구