SQL 쿼리를 포맷하는 방법

· 3 분 소요

지저분한 SQL은 버그를 도입하는 가장 빠른 방법 중 하나입니다. 쿼리가 들여쓰기 없이 한 긴 줄에 있을 때 어떤 조건이 어떤 조인에 적용되는지, 하위 쿼리가 어디서 시작하고 끝나는지, 또는 논리가 올바른지 보기 어렵습니다.

왜 포맷팅이 중요한가

SQL을 포맷하는 방법

  1. SQL 붙여넣기 — 포매터에 압축되거나 지저분한 쿼리를 입력하세요. SELECT, INSERT, UPDATE, DELETE, CREATE TABLE은 물론 하위 쿼리와 조인이 있는 복잡한 쿼리도 처리합니다.
  2. 옵션 구성 — 들여쓰기 크기와 키워드를 대문자로 표시할지 선택하세요. 이러한 설정은 프로젝트의 스타일 가이드와 일치해야 합니다.
  3. 결과 복사 — 포맷된 SQL이 편집기, 데이터베이스 클라이언트 또는 문서에 다시 붙여넣을 준비가 되었습니다.

좋은 포맷팅의 모습

select u.name, o.total from users u join orders o on u.id = o.user_id where o.total > 100 and u.active = 1 order by o.total desc와 같은 쿼리는 다음과 같이 됩니다:

SELECT
  u.name,
  o.total
FROM users u
JOIN orders o
  ON u.id = o.user_id
WHERE o.total > 100
  AND u.active = 1
ORDER BY o.total DESC

각 절은 자체 줄에서 시작합니다. 조건은 부모 절 아래에 들여쓰기됩니다. 조인과 ON 조건이 명확하게 짝지어집니다.

자주 묻는 질문

SQL 키워드를 대문자로 작성해야 합니까?

SQL 키워드(SELECT, FROM, WHERE)를 대문자로, 테이블이나 컬럼 이름을 소문자로 쓰는 것은 널리 따르는 규칙입니다. 쿼리를 시각적으로 더 읽기 쉽게 만듭니다. 대부분의 스타일 가이드가 이를 권장하지만 어떤 데이터베이스 엔진도 이를 강제하지 않습니다.

포맷팅이 쿼리 실행을 변경합니까?

아니요. 공백과 들여쓰기는 SQL 실행에 영향을 미치지 않습니다. 포맷팅은 순전히 사람이 읽을 수 있게 하기 위한 것입니다. 압축된 쿼리와 들여쓰기된 쿼리는 동일한 결과를 생성합니다.

어떤 들여쓰기 크기를 사용해야 합니까?

공백 2개 또는 4개가 모두 일반적입니다. 팀이 사용하는 것을 선택하고 일관성을 유지하세요. 대부분의 SQL 포매터는 이를 구성할 수 있게 해줍니다.

내 SQL이 서버로 전송됩니까?

아니요. 포맷팅은 완전히 브라우저에서 수행됩니다. 쿼리가 기기를 떠나지 않습니다.