SQL 포매터
긴 SQL 쿼리를 리뷰와 디버깅에 맞게 줄바꿈하고 정렬해 diff가 읽히도록 만드는 도구예요.
브라우저에서만 처리입력값이 서버로 가지 않아요.
입력과 결과
입력한 내용은 이 브라우저에만 저장돼요. 다시 열면 마지막 작업을 불러올 수 있어요.
이럴 때 써요
- 긴 SQL 쿼리를 리뷰와 디버깅에 맞게 줄바꿈하고 정렬해 diff가 읽히도록 만드는 도구예요.
- 브라우저 로컬 방식으로 입력을 다루며 복사 전 결과를 확인해요.
- SQL 포매터와 관련 도구를 이어서 사용해 작업 흐름을 줄여요.
예제
- 일반 입력
select id,name from users where active=1 order by created_at desc- SQL 포매터를 사용하기 전에 이 예제로 입력 흐름을 확인하세요.
- 일반 출력
정리된 SQL + 쿼리 종류 / 참조 테이블 / 절 점검 / 경고 / 실행 전 확인 목록- 복사하기 전에 결과 형태와 다음 검토 지점을 확인하는 예제예요.
- 추가 예제
select u.id,o.total from users u join orders o on o.user_id=u.id where o.status='paid'- 복사하기 전에 결과 형태와 다음 검토 지점을 확인하는 예제예요.
- 추가 예제
update users set active=false- 복사하기 전에 결과 형태와 다음 검토 지점을 확인하는 예제예요.
- 추가 예제
select p.id,count(*) from payments p join refunds r on r.payment_id=p.id where p.created_at >= '2026-01-01' group by p.id- 복사하기 전에 결과 형태와 다음 검토 지점을 확인하는 예제예요.
자주 하는 실수
- formatting은 SQL을 읽기 좋게 만들 뿐 query 안전성이나 성능을 증명하지 않아요.
- dialect별 syntax는 database formatter와 다르게 줄바꿈될 수 있어요.
- 복사한 값에 운영 비밀값, 고객 데이터, 내부 URL이 섞여 있으면 공유 전에 제거해야 해요.
복사하기 전에
- 1실행하기 전에 원본 query와 formatted query의 조건과 join을 비교해요.
- 2공유 전 customer ID, email, internal table name 같은 literal을 제거해요.
- 3SQL 포매터 결과가 다음 단계에 맞는지 관련 도구로 이어서 검토해요.
참고 자료
줄바꿈과 대소문자는 뜻을 바꾸지 않아요 — 식별자 인용은 바꿔요
SQL 표준에서 키워드 대소문자와 공백은 의미에 영향이 없어요. 하지만 인용한 식별자는 달라요 — 표준·PostgreSQL 은 겹따옴표 안을 대소문자까지 그대로 보고, MySQL 은 백틱을 써요. 정리하면서 인용부호를 바꾸면 없는 컬럼이 돼요.
기준 ISO/IEC 9075 (SQL:2016)
보기 좋게 만든 것이 검증은 아니에요
포매팅은 구문을 따라 들여쓰기만 해요. 실행 계획·인덱스 사용·권한은 그대로예요. 느린 쿼리는 정리해도 느려요 — EXPLAIN 으로 따로 봐야 해요.
기준 도구 범위 명시
자주 묻는 질문
SQL 포매터 입력값은 어디에서 처리되나요?
가능한 작업은 브라우저에서 처리돼요. 운영 비밀값이나 고객 데이터는 넣지 않는 기준은 그대로 유지하세요.
결과를 그대로 운영에 써도 되나요?
복사하기 전에 대상 런타임, 인코딩, 시간대, 보안 정책처럼 환경별 차이를 한 번 더 확인하세요.