SQL 포매터

한 줄로 붙은 쿼리를 붙여넣으면 읽기 좋게 정렬합니다. 데이터베이스 종류를 고르면 그 문법에 맞춰 처리합니다.

SQL 포매터

쿼리 붙여넣기

방언·예약어 대소문자를 고를 수 있습니다

데이터베이스

ANSI 표준 · 어느 DB에나 무난합니다

예약어

SELECT · FROM · WHERE

들여쓰기

사용법

  1. 쿼리를 붙여넣으면 바로 정렬됩니다. 무엇을 누를 필요가 없습니다.
  2. 쓰는 데이터베이스를 고르면 그 방언의 문법에 맞춰 처리합니다. 잘 모르면 표준 SQL로 두세요.
  3. 팀 규칙에 맞춰 예약어 대소문자와 들여쓰기 폭을 조절할 수 있습니다.
  4. 결과를 입력칸으로를 누르면 정렬된 쿼리를 다시 다듬을 수 있습니다.

SQL을 읽기 좋게 쓰는 관행

예약어는 대문자, 이름은 소문자. 문법상 구분이 없지만 이렇게 쓰면 SELECT·FROM·WHERE 같은 구조가 먼저 눈에 들어오고 테이블·컬럼 이름이 뒤로 물러납니다. 로그에 찍힌 긴 쿼리를 읽을 때 차이가 큽니다.

방언은 데이터베이스마다 다른 문법을 말합니다. MySQL은 식별자를 백틱으로 감싸고, PostgreSQL은 ::로 형변환하며, BigQuery는 배열·구조체 문법이 따로 있습니다. 맞는 방언을 고르지 않으면 특수 문법이 있는 쿼리에서 정렬이 실패할 수 있습니다.

서브쿼리와 조인이 깊어질수록 정렬의 효용이 커집니다. 한 줄로 붙은 쿼리는 괄호 짝을 눈으로 세야 하지만, 들여쓰기가 되면 어느 조건이 어느 단계에 걸린 것인지 바로 보입니다. 코드 리뷰에 쿼리를 올릴 때 정렬해서 올리는 것이 예의이기도 합니다.

정렬은 모양만 바꿉니다. 성능이나 결과는 달라지지 않습니다. 실행 계획이 궁금하면 데이터베이스의 EXPLAIN을 쓰세요.

자주 묻는 질문

쿼리가 서버로 전송되나요?
전송되지 않습니다. 브라우저 안에서만 정렬하며 페이지를 새로 고치면 사라집니다. 다만 실제 운영 데이터가 들어간 쿼리라면 화면이 노출되는 환경에서 다루지 마세요.
방언을 왜 골라야 하나요?
데이터베이스마다 문법이 조금씩 다르기 때문입니다. MySQL은 백틱(`)으로 식별자를 감싸고, PostgreSQL은 ::로 형변환하며, BigQuery는 배열·구조체 문법이 따로 있습니다. 맞는 방언을 고르면 그 문법을 이해하고 정렬하며, 표준 SQL로 두면 대부분의 평범한 쿼리는 무난하게 처리됩니다.
정렬만 하나요, 문법도 검사하나요?
정렬이 주 목적이지만 파서가 읽지 못하는 구문이 있으면 알려 줍니다. 다만 테이블이나 컬럼이 실제로 존재하는지, 타입이 맞는지는 확인하지 않습니다. 그것은 데이터베이스에 실행해 봐야 알 수 있습니다.
예약어를 대문자로 쓰는 것이 표준인가요?
문법상 대소문자는 상관없지만, 예약어를 대문자로 쓰고 테이블·컬럼을 소문자로 쓰는 관행이 널리 퍼져 있습니다. 구조가 눈에 먼저 들어오기 때문입니다. 팀 규칙이 있다면 그쪽을 따르세요. 이 도구는 세 가지를 모두 지원합니다.
주석이 사라지지 않나요?
유지됩니다. -- 한 줄 주석과 /* 여러 줄 주석 */ 모두 위치를 지켜 남습니다. 다만 줄바꿈이 재배치되면서 주석이 붙어 있던 위치가 조금 달라질 수 있으니, 중요한 주석은 정렬 후 확인하세요.

이 도구는 브라우저 안에서만 계산하며 입력값을 서버로 보내지 않습니다. 분류: 개발 · 마지막 수정 2026-09-08

함께 쓰면 좋은 도구

온라인 도구 전체 보기