SQL

SQL 정리 query

SQL 쿼리에 줄바꿈과 들여쓰기를 적용해 SELECT, JOIN, WHERE 구조를 읽기 쉽게 정리합니다.

indent
INPUTsql
0 lines 0 chars
1
OUTPUTformatted sql
0 lines 0 chars
1
도구 설명

이 도구가 하는 일

운영 중인 애플리케이션에서 추출한 SQL이나 ORM이 생성한 쿼리는 대부분 한 줄로 이어져 있습니다. 짧은 쿼리라면 문제가 없지만, 조인이 여러 개 걸리고 서브쿼리와 조건이 붙기 시작하면 한 줄짜리 쿼리는 구조를 파악하기가 매우 어렵습니다.

이 도구는 SELECT, FROM, WHERE, JOIN, ON, GROUP BY, HAVING, ORDER BY, LIMIT 같은 주요 절을 기준으로 줄을 나누고 들여쓰기를 적용합니다. 절 단위로 분리되면 어떤 테이블이 조인되는지, 조건이 몇 개인지, 정렬과 그룹화가 어디에 걸려 있는지를 훨씬 빠르게 파악할 수 있습니다.

포맷팅은 쿼리의 의미를 바꾸지 않고 공백과 줄바꿈만 조정합니다. 쿼리를 실행하거나 데이터베이스에 연결하지 않으며, 모든 처리는 브라우저에서 이루어집니다.

언제 사용하나요

슬로우 쿼리 로그에 기록된 긴 쿼리를 분석할 때, ORM이 실제로 어떤 SQL을 만들어내는지 확인할 때, 코드 리뷰에서 동료가 작성한 쿼리를 읽을 때, 문서나 이슈에 쿼리를 첨부하기 전에 정리할 때 사용합니다.

입력과 출력 예시

입력 select u.id,u.name from users u join orders o on o.user_id=u.id where u.active=1 order by u.id desc
출력 SELECT u.id, u.name FROM users u JOIN orders o ON o.user_id = u.id WHERE u.active = 1 ORDER BY u.id DESC

절 단위로 줄이 나뉘어 조인 관계와 조건이 명확해집니다.

주의사항

이 도구는 문법 검사기가 아닙니다. 포맷이 정리되었다고 해서 쿼리가 실행 가능하다는 뜻은 아닙니다. 데이터베이스마다 방언이 달라 특정 제품 전용 구문(예: 힌트, 윈도우 함수의 확장 문법, 저장 프로시저 구문)은 예상과 다르게 정리될 수 있습니다. 문자열 리터럴 안에 SQL 키워드와 같은 단어가 들어 있는 경우에도 줄바꿈이 어색하게 들어갈 수 있으므로 결과를 확인하십시오.

자주 묻는 질문

쿼리가 실행되나요?

실행되지 않습니다. 데이터베이스에 연결하지 않고 텍스트 정리만 수행합니다.

문법 오류도 잡아 주나요?

잡지 않습니다. 포맷터는 키워드를 기준으로 줄을 나눌 뿐이며, 실행 가능 여부는 실제 데이터베이스에서 확인해야 합니다.

Copied