01
1. SQL을 정렬해야 하는 이유
한 줄로 작성되거나 ORM이 생성한 SQL은 조인이 많아질수록 읽기 어려워집니다. 절(SELECT, FROM, WHERE, JOIN, GROUP BY, ORDER BY 등) 단위로 줄바꿈하고 들여쓰기를 맞추면 어떤 테이블을 어떤 조건으로 조인했는지, WHERE 조건이 무엇인지 한눈에 파악할 수 있어 코드 리뷰와 디버깅 속도가 빨라집니다.
SQL 쿼리를 절(clause)별로 줄바꿈하고 들여쓰기를 맞춰 읽기 쉽게 정렬합니다. 반대로 저장 공간이나 로그 전송용으로 한 줄 압축(minify)도 지원합니다. 키워드 대문자 변환은 선택 사항입니다.
한 줄로 작성되거나 ORM이 생성한 SQL은 조인이 많아질수록 읽기 어려워집니다. 절(SELECT, FROM, WHERE, JOIN, GROUP BY, ORDER BY 등) 단위로 줄바꿈하고 들여쓰기를 맞추면 어떤 테이블을 어떤 조건으로 조인했는지, WHERE 조건이 무엇인지 한눈에 파악할 수 있어 코드 리뷰와 디버깅 속도가 빨라집니다.
SELECT/FROM/WHERE/JOIN 계열/GROUP BY/ORDER BY/HAVING/LIMIT 등 주요 절 앞에서 줄을 바꾸고, AND/OR는 한 단계 들여써서 조건을 구분합니다. 콤마로 구분된 컬럼 목록은 각각 새 줄에 정렬되고, 괄호 안 내용(서브쿼리 등)은 한 단계 들여쓰기가 추가됩니다. 이 도구는 완전한 SQL 파서가 아니라 토큰 기반의 정렬기이므로, 매우 복잡하게 중첩된 서브쿼리나 벤더 특수 문법은 결과를 확인 후 수동으로 다듬는 것을 권장합니다.
압축(minify)은 주석을 제거하고 불필요한 공백·줄바꿈을 없애 한 줄로 만듭니다. 로그에 쿼리를 남기거나, 저장 프로시저·마이그레이션 스크립트 크기를 줄이거나, 다른 도구에 붙여넣기 위해 한 줄이 필요할 때 유용합니다. 문자열 리터럴(따옴표로 감싼 값) 안의 내용은 그대로 보존되므로 데이터 값이 손상되지 않습니다.