SQL 포매터
최종 수정:
도구 소개
SQL 포매터는 일관된 들여쓰기, 키워드 대문자화, 절(clause)별 줄바꿈을 적용해 긴 SELECT 문도 실제로 읽을 수 있게 만듭니다. 애플리케이션 코드나 환경 변수에 쿼리를 포함할 때를 위한 미니파이 모드도 제공합니다. 한 줄로 작성된 50줄짜리 쿼리를 읽어 본 적 있는 개발자에게 유용합니다.
사용 방법
- SQL 쿼리를 입력 패널에 붙여넣습니다.
- Format 버튼을 누르면 들여쓰기와 키워드 대문자화가 적용된 결과가 오른쪽에 표시됩니다.
- Minify로 포매팅된 쿼리를 한 줄로 압축해 임베딩용으로 사용할 수 있습니다.
- 결과를 IDE, ORM raw 쿼리, BI 도구, 마이그레이션 파일에 복사합니다.
- 쿼리가 자연스럽게 읽힐 때까지 반복합니다 — 포매팅으로 누락된 JOIN 조건이나 콤마 실수를 잡기 쉽습니다.
주요 사용 사례
- 코드 리뷰에 붙여넣기 전 복잡한 JOIN 정리
- 로그에서 복사한 ORM 생성 쿼리를 디버깅하기 위해 포매팅
- 팀 스타일 가이드를 따르는 마이그레이션 스크립트 준비
- 애플리케이션 설정 문자열에 쿼리를 포함하기 위해 미니파이
- 두 쿼리를 동일한 형식으로 정리한 뒤 diff로 비교
- 문서나 슬랙 스레드에 가독성 좋은 쿼리 공유
자주 묻는 질문
Q. 포매터가 SQL 문법을 검증해주나요?
A. 아닙니다. 구조만 포매팅할 뿐 컬럼/테이블 존재 여부나 실행 가능 여부는 확인하지 않습니다. 검증은 DB 클라이언트나 린터를 사용하세요.
Q. 비표준 SQL 방언도 지원되나요?
A. PostgreSQL, MySQL, SQLite, MSSQL의 공통 키워드는 대체로 인식됩니다. PIVOT, MERGE 같은 벤더 특화 문법은 들여쓰기가 어색할 수 있습니다.
Q. CTE가 이상한 위치에서 줄바꿈됩니다.
A. CTE(WITH)와 서브쿼리는 까다롭습니다. 결과가 이상하면 포매팅 후 손으로 보정하는 편이 빠릅니다.
Q. 포매팅된 SQL을 저장소에 커밋해도 되나요?
A. 권장합니다 — 마이그레이션과 저장 프로시저의 일관된 포매팅은 JS/Python처럼 코드 리뷰 효율을 높여줍니다.