🗃️ SQL 포맷터

SQL 쿼리를 포맷하거나 압축하여 가독성을 높입니다

SQL 포맷팅이란?

왜 필요한가요?

SQL(Structured Query Language)은 데이터베이스를 조작하는 언어입니다. 복잡한 SQL 쿼리는 한 줄로 작성되거나 들여쓰기가 엉망인 경우가 많아 가독성이 떨어집니다. SQL 포맷터는 쿼리를 읽기 쉽게 정렬하고 들여쓰기를 일관되게 적용합니다.

정리된 SQL은 디버깅이 쉽고, 쿼리 최적화 지점을 찾기 용이하며, 팀원 간 코드 리뷰 시 의사소통을 원활하게 합니다.

언제 사용하나요?

  • 쿼리 디버깅: 에러 발생 시 쿼리 구조를 명확히 파악
  • 로그 분석: 애플리케이션 로그에서 추출한 SQL 정리
  • 코드 리뷰: 일관된 포맷으로 쿼리 검토
  • 문서화: 프로젝트 문서에 포함할 SQL 예제 정리
  • 성능 최적화: 쿼리 실행 계획 분석 전 포맷팅
  • 학습: 복잡한 예제 쿼리를 이해하기 쉽게 변환

실무 사용 예시

압축된 SQL → 포맷팅

원본:

SELECT u.id,u.name,COUNT(o.id) as order_count FROM users u LEFT JOIN orders o ON u.id=o.user_id WHERE u.active=1 GROUP BY u.id HAVING COUNT(o.id)>5 ORDER BY order_count DESC

포맷팅 후:

SELECT u.id, u.name, COUNT(o.id) AS order_count FROM users u LEFT JOIN orders o ON u.id = o.user_id WHERE u.active = 1 GROUP BY u.id HAVING COUNT(o.id) > 5 ORDER BY order_count DESC

복잡한 서브쿼리

SELECT p.product_name, p.price, ( SELECT AVG(price) FROM products WHERE category_id = p.category_id ) AS category_avg FROM products p WHERE p.price > ( SELECT AVG(price) FROM products )

서브쿼리 구조가 명확하게 보임

SQL 스타일 가이드

일반적인 SQL 포맷팅 규칙:

  • 키워드 대문자: SELECT, FROM, WHERE 등 SQL 키워드는 대문자
  • 한 줄에 하나: SELECT 절의 각 컬럼을 별도 줄에 작성
  • 들여쓰기: 중첩된 구문은 2칸 또는 4칸 들여쓰기
  • JOIN 명시: INNER JOIN, LEFT JOIN 등 명시적으로 작성
  • AS 사용: 별칭은 AS 키워드로 명확히 표시
  • 서브쿼리 정렬: 서브쿼리도 동일한 규칙 적용

주의사항

  • 문법 오류: 포맷터는 문법 검증을 하지 않습니다. 실행 전 반드시 테스트하세요.
  • 데이터베이스 방언: MySQL, PostgreSQL, Oracle 등 DB마다 문법이 약간 다를 수 있습니다.
  • 주석 보존: 포맷팅 시 주석이 유지되는지 확인하세요.
  • 문자열 리터럴: 쿼리 내 문자열은 그대로 유지되어야 합니다.
  • 성능: 포맷팅은 실행 성능에 영향을 주지 않지만, 가독성 향상으로 최적화를 돕습니다.

SQL vs NoSQL

특징SQL (관계형)NoSQL (비관계형)
데이터 구조테이블, 행, 열문서, 키-값, 그래프
스키마고정 스키마유연한 스키마
확장성수직 확장수평 확장
용도복잡한 쿼리, 트랜잭션빠른 읽기/쓰기, 대용량

더 알아보기

Developer Tools

개발자를 위한 18가지 이상의 무료 온라인 도구를 제공합니다. Base64, JSON, JWT, 정규식 등 필수 개발 도구를 한 곳에서.

Developer Tools © 2025. All rights reserved.

모든 도구는 클라이언트 사이드에서만 작동하며, 입력 데이터는 서버로 전송되지 않습니다.