SQL 쿼리 정렬하는 방법
쿼리를 입력 칸에 붙여 넣으면 결과 칸에 줄맞춤된 쿼리가 바로 나옵니다.
- 쿼리를 붙여 넣거나
.sql파일을 엽니다. - DB 문법에서 사용하는 데이터베이스를 고릅니다.
TOP, 백틱,::jsonb같은 DB 전용 문법을 이 설정으로 읽습니다. - 키워드 대문자·소문자, 들여쓰기 2칸·4칸·탭,
AND/OR를 줄 앞에 둘지 줄 끝에 둘지 정합니다. - 결과를 복사하거나
.sql파일로 내려받습니다. 압축은 쿼리를 한 줄로 만듭니다.
쿼리 정렬과 ORDER BY 정렬은 다릅니다
이 페이지의 정렬은 쿼리 문장의 줄맞춤과 들여쓰기입니다. 조회 결과의 행 순서를 바꾸는 정렬은 ORDER BY로 합니다. 기본은 오름차순(ASC)이고, 내림차순은 DESC를 붙입니다. 두 개 이상의 컬럼으로 정렬할 때는 쉼표로 이어 쓰며, 앞의 컬럼 값이 같을 때 뒤의 컬럼으로 순서를 정합니다.
SELECT name, dept, salary FROM employees ORDER BY dept ASC, salary DESC;
정렬하면 무엇이 바뀌나요
바뀌는 것은 배치뿐이고 쿼리의 동작은 그대로입니다. SELECT, FROM, WHERE, GROUP BY, ORDER BY 같은 절은 새 줄에서 시작하고, 조회할 컬럼은 한 줄에 하나씩 놓입니다. JOIN은 FROM 아래로 맞추고, 서브쿼리와 WITH 절은 한 단계 더 들여 씁니다. 따옴표 안의 값, 주석, 테이블·컬럼 이름은 바꾸지 않습니다.
정렬 전
select id,name from users u join orders o on o.user_id=u.id where o.total>100 and u.active=1
정렬 후
SELECT id, name FROM users u JOIN orders o ON o.user_id = u.id WHERE o.total > 100 AND u.active = 1
SQL 들여쓰기 규칙
공식 규칙은 없지만 팀마다 정하는 규칙은 대체로 비슷합니다. 많이 인용되는 Simon Holywell의 SQL Style Guide와 이 도구의 기본값이 따르는 내용은 다음과 같습니다.
- 키워드는 대문자, 테이블·컬럼 이름은 소문자
snake_case로 씁니다. - 조회할 컬럼은 한 줄에 하나씩 둡니다. 컬럼을 하나 바꿔도 변경 이력에 한 줄만 남습니다.
- 절은 새 줄에서 시작하고, 그 절에 딸린 내용은 들여 씁니다.
- 계산한 컬럼과 조인한 테이블에는
AS로 별칭을 붙입니다. - 여러 겹의 서브쿼리 대신
WITH ... AS(CTE)를 씁니다. - 테이블을 쉼표로 나열하지 않고
JOIN ... ON으로 조인 조건을 씁니다.
DBeaver·DataGrip·SSMS·VS Code 쿼리 정렬 단축키
자주 쓰는 SQL 편집기에도 정렬 기능이 있습니다. 편집기가 설치되지 않은 PC에서는 이 페이지에서 정렬할 수 있습니다.
| 편집기 | 정렬 방법 |
|---|---|
| DBeaver | 쿼리를 선택하고 Ctrl+Shift+F, 또는 오른쪽 클릭 → Format → Format SQL |
| DataGrip | Reformat Code: Windows·Linux Ctrl+Alt+L |
| SSMS 22.10.2 이상 | 쿼리 창에서 오른쪽 클릭 → Format SQL, 또는 Ctrl+K, Ctrl+Q. 스타일은 Tools > Options > SQL Formatter |
| Oracle SQL Developer | 워크시트에서 Format SQL 실행. 서식은 Tools > Preferences > Code Editor > Format에서 정합니다 |
| VS Code | 기본 기능에는 SQL 정렬이 없습니다. SQL Formatter VSCode 확장을 설치한 뒤 문서 서식(Shift+Alt+F, macOS는 Shift+Option+F) |
SSMS의 정렬 기능은 22.7 버전(2026년 6월)에 미리보기로 들어왔고 22.10.2 버전(2026년 9월)부터 정식 기능입니다. 그보다 낮은 버전은 Redgate SQL Prompt 같은 추가 도구가 필요합니다. VS Code 확장은 이 페이지와 같은 오픈소스 엔진을 씁니다.
DB 문법은 무엇을 골라야 하나요
SQL 표준은 ISO/IEC 9075(현재판 SQL:2023)이지만 데이터베이스마다 고유 문법이 있습니다. 특히 이름을 감싸는 따옴표가 달라서, 문법을 잘못 고르면 정렬 중 오류가 납니다.
| DB | 이름 감싸기 | 대표 전용 문법 |
|---|---|---|
| MySQL / MariaDB | `name` | LIMIT, GROUP_CONCAT, # 주석 |
| PostgreSQL | "name" | ::type 형변환, $$ ... $$ 문자열, RETURNING |
| SQL Server (MSSQL) | [name], "name" | TOP (n), @변수, GO |
| Oracle | "NAME" | BEGIN ... END; 블록, :바인드 변수 |
| BigQuery | `project.dataset.table` | STRUCT, ARRAY, QUALIFY |
| SQLite | "name", [name], `name` | AUTOINCREMENT, PRAGMA |
SQL 압축은 언제 쓰나요
압축(Minify)은 쿼리를 한 줄로 만듭니다. 단어 사이 공백은 하나로 줄이고, 쉼표와 괄호 앞뒤 공백과 주석은 지웁니다. JSON 설정 파일, 환경 변수, 로그, 코드 안의 문자열에 쿼리를 넣을 때 씁니다. 따옴표 안의 값은 그대로라서 '공백 두 칸'도 바뀌지 않습니다.
정렬 엔진: sql-formatter 15.9.0(2026년 9월 23일 배포), MIT 라이선스. 단축키는 DBeaver SQL Formatting, DataGrip Reformat code, SSMS 22 릴리스 노트, Oracle SQL Developer 사용자 가이드 문서 기준입니다. DB 문법은 MySQL, PostgreSQL, SQL Server 공식 문서와 대조했습니다. 2026년 10월 확인.