[SQL] 실데이터 없이 쿼리 로직을 검증할 때 VALUES

Unit·2026년 1월 1일

SQL

목록 보기
54/59

쿼리가 제대로 동작할 지 확신이 서지 않는 순간이 있습니다.

복잡한 윈도우 함수가 의도대로 동작하는지, 조인 조건에서 NULL이 잘 처리되는지 결과를 직접 보기 전까지는 알기 어려울 때가 있습니다.

이걸 확인하려고 매번 실제 대용량 테이블을 돌리는 건 비용도 크고, 비효율적일 수 있는데요.

이럴 때 유용하게 쓸 수 있는 방법이 VALUES 절을 활용한 임시 데이터 생성입니다.


🤔 왜 임시 데이터가 필요한가

⚡ 로직을 빠르게 검증하기 위해

몇 줄의 데이터만으로 내 쿼리가 어떤 결과를 만드는지 바로 확인할 수 있습니다.
데이터가 문제인지, 로직이 문제인지를 확인할 수 있습니다.


🧪 데이터에 의존하지 않고 검증하기 위해

NULL, 중복과 같은 상황을 의도적으로 만들어 로직이 깨지지 않는지 확인할 수 있습니다.

실제 데이터가 없거나, 테이블 접근 권한이 없는 단계에서도 쿼리를 미리 검증할 수 있습니다.


🛠 활용 예시 (PostgreSQL 기준)

집계 로직을 확인할 때

SELECT
  	  user_id
  	, COUNT(category) AS cnt
FROM (
  	  VALUES
    		(1, 'A')
          , (1, NULL)
    	  , (2, 'B')
	  ) AS t(user_id, category)
GROUP BY user_id;

이 예시에서 확인하고 싶은 건 데이터가 아니라 로직입니다.

NULL이 포함된 경우 COUNT(column)이 어떤 결과를 만드는지 실데이터 없이도 충분히 검증할 수 있습니다.


정리

✔️ VALUES는 실데이터에 의존하지 않고 분석 로직을 빠르게 검증하는 방법입니다.

profile
협업, 유지보수, 최적화를 고려한 데이터 실무 팁을 정리합니다.

0개의 댓글