SQL 서식 정리

SQL을 붙여 넣으면 스스로 정리됩니다. 문자열과 주석은 그대로.

사용 방법

  1. 상자에 SQL을 붙여 넣으세요. 입력하는 대로 정리되며 누를 버튼은 없습니다.
  2. 예약어를 대문자나 소문자로 고르고 들여쓰기를 2칸이나 4칸으로 정하세요. 결과는 즉시 갱신됩니다.
  3. 줄 수를 확인한 뒤 결과를 복사하거나 .sql 파일로 내려받으세요.

예시

입력

select u.id, u.name, count(o.id) as orders
from users u left join orders o on o.user_id = u.id
where u.active = 1 and o.created_at >= '2026-01-01'
group by u.id, u.name order by orders desc limit 10;

정리 후

SELECT
  u.id,
  u.name,
  count(o.id) AS orders
FROM users u
LEFT JOIN orders o
  ON o.user_id = u.id
WHERE u.active = 1
  AND o.created_at >= '2026-01-01'
GROUP BY
  u.id,
  u.name
ORDER BY
  orders DESC
LIMIT 10;

기본 규칙만 쓴 예시입니다. 절마다 줄을 시작하고 목록 항목은 두 칸 들여쓰며 AND도 들여씁니다. count(...)는 함수 이름이라 입력한 소문자를 유지하고 날짜 문자열은 그대로 둡니다.

규칙, 한계, 알려진 문제

  • 공백 서식 도구입니다. SQL을 해석하거나 검증하거나 실행하지 않습니다. 잘못된 SQL도 서식만 정리합니다.
  • 방언 선택기가 없습니다. 작은따옴표, 큰따옴표, 백틱, 대괄호, $tag$ 문자열을 모두 인식하므로 MySQL, PostgreSQL, SQL Server, SQLite 인용을 그대로 붙여 넣을 수 있습니다.
  • 대소문자는 예약어만 바꿉니다. 함수 이름, 타입 이름(count, int, varchar), 따옴표 친 식별자는 입력한 그대로 출력합니다. 데이터베이스가 대소문자를 구분하면 식별자에 따옴표를 쓰세요.
  • 문자열, 숫자, 주석은 다시 쓰지 않습니다. -- 주석은 줄바꿈을 강제하고 주석은 절대 지우지 않습니다. 압축 모드는 없습니다.
  • 결과에 구문 강조(키워드, 식별자, 문자열, 숫자, 주석)를 입혀 구조를 읽기 쉽게 합니다. 강조는 화면용일 뿐이며 복사와 내려받기는 항상 서식만 적용된 일반 텍스트를 냅니다.
  • 줄바꿈은 절, 목록, CASE, 서브쿼리, 윈도, DDL 열 경계에서만 일어납니다. 함수 인수와 IN (...) 목록은 한 줄에 두고, 긴 줄은 결과 패널 안에서 접히지만 복사와 내려받기는 접히지 않은 원문을 유지합니다.
  • 문자열은 ''와 \' 이스케이프를 모두 인식합니다. 'C:\'처럼 역슬래시로 끝나는 표준 SQL 문자열은 닫히지 않은 것으로 읽힐 수 있습니다. 이때 경고를 내고 입력은 건드리지 않습니다.
  • 저장 프로시저, DELIMITER, PL/SQL 블록은 지원하지 않습니다. 파일 업로드, URL 매개변수, 기록도 없습니다. 모든 처리가 브라우저에서 이루어지며 아무것도 업로드하거나 저장하지 않습니다.
  • 20만 자를 넘으면 입력을 멈추고 약 0.6초 뒤 결과가 갱신되며 텍스트를 잘라 내지 않습니다. 출력은 LF를 쓰고 끝에 줄바꿈이 없으며 서식 정리는 여러 번 해도 결과가 같습니다.

쿼리를 읽기 좋게 만든 뒤 흔히 이어서 쓰는 도구입니다.