SQL을 정렬하고 검토할 때 확인할 순서
JOIN과 집계 예제 읽기
‘JOIN · 집계’는 고객별 주문 금액을 더하는 예제입니다. LEFT JOIN에 주문 상태 조건을 함께 두어 주문이 없는 고객도 결과에 남깁니다. 같은 조건을 WHERE o.status = 'paid'로 옮기면 일치하지 않는 행을 제거할 수 있으므로 포맷만 바꾸는 작업과 조건 변경을 구분해야 합니다.
SELECT c.id, c.name, COALESCE(SUM(o.total), 0) AS total_spent FROM customers c LEFT JOIN orders o ON o.customer_id = c.id AND o.status = 'paid' GROUP BY c.id, c.name;
사용 중인 DB의 방언 선택
MySQL의 백틱, PostgreSQL의 이중 따옴표, SQL Server의 대괄호처럼 식별자 표기가 다릅니다. 실제 대상 DB를 선택한 뒤 문자열 리터럴·주석·플레이스홀더가 유지되는지 확인하세요. MariaDB 예제는 MySQL 호환 문법 범위에서 사용하며 특정 버전의 모든 확장 문법을 보장하지 않습니다.
정렬 성공이 쿼리 성공을 뜻하지는 않습니다
이 페이지는 sql-formatter 4.0.2로 문자열의 배치를 바꿉니다. 테이블·컬럼 존재, 타입, 권한, 인덱스, 실행 비용을 검사하지 않습니다. 새 DB 문법은 기대와 다르게 줄바꿈될 수 있습니다. 입력은 100 KiB까지로 제한하고 한 번에 검토할 쿼리 단위로 나눠 사용하세요.
UPDATE 예제의 마지막은 ROLLBACK입니다
트랜잭션 예제는 변경 후 결과를 확인하고 되돌리는 검토 흐름을 보여 줍니다. 이 도구는 실행 버튼을 제공하지 않습니다. 실제 DB에서 실행하려면 환경·대상 행·트랜잭션 지원 여부를 먼저 확인하세요. WHERE 조건과 영향 행 수를 검토하고 백업 및 복구 절차를 갖춘 뒤 팀의 배포 절차를 따르세요.
원본을 보존하는 작업 순서
- 원본 SQL을 별도 파일이나 버전 관리에 보관합니다.
- 대상 방언과 들여쓰기, 예약어 대문자 옵션을 정하고 변환합니다.
- 문자열 값·주석·조건을 비교한 다음 결과를 다운로드합니다. 정렬된 SQL만으로 성능 개선이 일어나지는 않습니다.
데이터 처리와 문의
이 도구의 변환 코드는 입력·결과를 현재 탭에서 처리하며 서버로 보내거나 자동 저장하지 않습니다. 다운로드는 기기에 파일을 만들고, 복사는 클립보드에 기록합니다. 광고와 외부 라이브러리 요청에는 IP 주소·브라우저 정보가 전달될 수 있습니다. 실제 비밀번호·인증 토큰·고객 정보 대신 비식별 예제를 사용하세요.
오류 제보는 GitHub 문의 게시판(계정 필요)에 브라우저, 옵션, 민감한 값을 지운 재현 예제를 남겨 주세요. DevTool Hub · Google 외부 서비스 안내