SQL 포맷터

지저분한 SQL을 깔끔하고 읽기 쉬운 쿼리로 바꾸세요.

브라우저에서 실행됩니다. 입력한 내용은 어디로도 전송되지 않습니다.

SQL 정렬 방법

  1. SQL 쿼리를 붙여넣으세요.
  2. 방언, 키워드 대소문자, 들여쓰기 크기를 고르세요.
  3. 정렬된 SQL을 복사하거나 다운로드하세요.

지원하는 방언별 차이

방언고려하는 특징
MySQL백틱으로 감싼 식별자
PostgreSQL큰따옴표 식별자와 :: 타입 캐스트
SQL Server대괄호 식별자와 LIMIT 대신 TOP
SQLite더 느슨한 인용 규칙
BigQueryproject.dataset.table 같은 백틱 테이블 경로
표준 SQLANSI 방식의 큰따옴표 식별자, 기본 대상

정렬이 바꾸는 것과 바꾸지 않는 것

  • 바뀌는 것: 키워드 대소문자, 절과 JOIN의 들여쓰기, SELECT·FROM·WHERE·JOIN 앞의 줄바꿈 위치.
  • 바뀌지 않는 것: 테이블명과 열 이름, 문자열 리터럴 내용, 쿼리 안의 주석.
  • --나 /* */로 쓴 주석은 원래 있던 줄이나 블록에 그대로 붙어 위치가 유지됩니다.

SQL 정렬 팁

  • 세미콜론으로 구분한 여러 문장을 붙여넣으면 각각 제자리에서 정렬됩니다.
  • 실제로 쓰는 데이터베이스의 방언을 고르면 출력의 식별자 인용 방식이 서버가 기대하는 것과 일치합니다.
  • 방언의 인용 방식이 데이터베이스에서 오류를 일으킨다면 표준 SQL을 시도하고 식별자를 손으로 조정하세요.
  • 들여쓰기 크기를 키우면 각 중첩 단계가 더 두드러져 JOIN이 많은 긴 쿼리를 훑어보기 쉬워집니다.

SQL 포맷터 자주 묻는 질문

어떤 SQL 방언을 지원하나요?

표준 SQL, MySQL, PostgreSQL, SQL Server, SQLite, BigQuery를 지원합니다. 각각 인용 부호와 함수 처리 방식이 조금씩 다릅니다.

이 도구가 제 SQL이 올바른지 검사하나요?

아니요. 가독성을 위해 쿼리를 다시 정렬할 뿐입니다. 데이터베이스에 연결하거나 테이블·열 이름을 검증하지는 않습니다.

여러 쿼리가 담긴 파일 전체를 한 번에 정렬할 수 있나요?

네. 세미콜론으로 구분된 여러 문장을 붙여넣으면 각각 제자리에서 정렬됩니다.

들여쓰기 크기는 무엇을 조절하나요?

중첩 단계마다 몇 칸의 공백을 쓸지 정합니다. 간결한 쿼리는 2칸, JOIN과 서브쿼리가 깊게 중첩된 경우는 8칸까지 가능합니다.

제 SQL이 어딘가에 업로드되나요?

아니요. 정렬은 브라우저에서 이루어지므로 쿼리와 그 안의 데이터는 기기에 그대로 남습니다.

정렬하면 쿼리의 순서가 바뀌나요?

아니요. 절, JOIN, 서브쿼리는 작성한 순서 그대로 유지됩니다. 바뀌는 것은 들여쓰기, 줄바꿈, 키워드 대소문자뿐입니다.

저장 프로시저나 변수를 포함한 스크립트도 정렬할 수 있나요?

일반적인 SELECT, INSERT, UPDATE, DELETE 문은 깔끔하게 정렬됩니다. T-SQL 제어 구문이나 PL/pgSQL 블록 같은 방언별 절차형 구문은, 이 포맷터가 표준 쿼리 구문을 대상으로 하기 때문에 깔끔하게 들여쓰기되지 않을 수 있습니다.

CTE(WITH 절)나 윈도우 함수도 지원하나요?

네. 공통 테이블 표현식과 윈도우 함수도 내부에서 쓰는 sql-formatter 라이브러리가 이해하는 다른 구문과 마찬가지로 각자의 들여쓰기를 포함해 정렬됩니다.

관련 도구