SQL 포매터
한 줄로 붙은 쿼리를 붙여넣으면 읽기 좋게 정렬합니다. 데이터베이스 종류를 고르면 그 문법에 맞춰 처리합니다.
SQL 포매터
쿼리 붙여넣기
방언·예약어 대소문자를 고를 수 있습니다
데이터베이스
ANSI 표준 · 어느 DB에나 무난합니다
예약어
SELECT · FROM · WHERE
들여쓰기
사용법
- 쿼리를 붙여넣으면 바로 정렬됩니다. 무엇을 누를 필요가 없습니다.
- 쓰는 데이터베이스를 고르면 그 방언의 문법에 맞춰 처리합니다. 잘 모르면 표준 SQL로 두세요.
- 팀 규칙에 맞춰 예약어 대소문자와 들여쓰기 폭을 조절할 수 있습니다.
- 결과를 입력칸으로를 누르면 정렬된 쿼리를 다시 다듬을 수 있습니다.
SQL을 읽기 좋게 쓰는 관행
예약어는 대문자, 이름은 소문자. 문법상 구분이 없지만 이렇게 쓰면 SELECT·FROM·WHERE 같은 구조가 먼저 눈에 들어오고 테이블·컬럼 이름이 뒤로 물러납니다. 로그에 찍힌 긴 쿼리를 읽을 때 차이가 큽니다.
방언은 데이터베이스마다 다른 문법을 말합니다. MySQL은 식별자를 백틱으로 감싸고, PostgreSQL은 ::로 형변환하며, BigQuery는 배열·구조체 문법이 따로 있습니다.
맞는 방언을 고르지 않으면 특수 문법이 있는 쿼리에서 정렬이 실패할 수 있습니다.
서브쿼리와 조인이 깊어질수록 정렬의 효용이 커집니다. 한 줄로 붙은 쿼리는 괄호 짝을 눈으로 세야 하지만, 들여쓰기가 되면 어느 조건이 어느 단계에 걸린 것인지 바로 보입니다. 코드 리뷰에 쿼리를 올릴 때 정렬해서 올리는 것이 예의이기도 합니다.
정렬은 모양만 바꿉니다. 성능이나 결과는 달라지지 않습니다. 실행 계획이 궁금하면 데이터베이스의 EXPLAIN을 쓰세요.
자주 묻는 질문
- 쿼리가 서버로 전송되나요?
- 전송되지 않습니다. 브라우저 안에서만 정렬하며 페이지를 새로 고치면 사라집니다. 다만 실제 운영 데이터가 들어간 쿼리라면 화면이 노출되는 환경에서 다루지 마세요.
- 방언을 왜 골라야 하나요?
- 데이터베이스마다 문법이 조금씩 다르기 때문입니다. MySQL은 백틱(`)으로 식별자를 감싸고, PostgreSQL은 ::로 형변환하며, BigQuery는 배열·구조체 문법이 따로 있습니다. 맞는 방언을 고르면 그 문법을 이해하고 정렬하며, 표준 SQL로 두면 대부분의 평범한 쿼리는 무난하게 처리됩니다.
- 정렬만 하나요, 문법도 검사하나요?
- 정렬이 주 목적이지만 파서가 읽지 못하는 구문이 있으면 알려 줍니다. 다만 테이블이나 컬럼이 실제로 존재하는지, 타입이 맞는지는 확인하지 않습니다. 그것은 데이터베이스에 실행해 봐야 알 수 있습니다.
- 예약어를 대문자로 쓰는 것이 표준인가요?
- 문법상 대소문자는 상관없지만, 예약어를 대문자로 쓰고 테이블·컬럼을 소문자로 쓰는 관행이 널리 퍼져 있습니다. 구조가 눈에 먼저 들어오기 때문입니다. 팀 규칙이 있다면 그쪽을 따르세요. 이 도구는 세 가지를 모두 지원합니다.
- 주석이 사라지지 않나요?
- 유지됩니다. -- 한 줄 주석과 /* 여러 줄 주석 */ 모두 위치를 지켜 남습니다. 다만 줄바꿈이 재배치되면서 주석이 붙어 있던 위치가 조금 달라질 수 있으니, 중요한 주석은 정렬 후 확인하세요.
이 도구는 브라우저 안에서만 계산하며 입력값을 서버로 보내지 않습니다. 분류: 개발 · 마지막 수정 2026-09-08