쿼리가 제대로 동작할 지 확신이 서지 않는 순간이 있습니다.
복잡한 윈도우 함수가 의도대로 동작하는지, 조인 조건에서 NULL이 잘 처리되는지 결과를 직접 보기 전까지는 알기 어려울 때가 있습니다.
이걸 확인하려고 매번 실제 대용량 테이블을 돌리는 건 비용도 크고, 비효율적일 수 있는데요.
이럴 때 유용하게 쓸 수 있는 방법이 VALUES 절을 활용한 임시 데이터 생성입니다.
몇 줄의 데이터만으로 내 쿼리가 어떤 결과를 만드는지 바로 확인할 수 있습니다.
데이터가 문제인지, 로직이 문제인지를 확인할 수 있습니다.
NULL, 중복과 같은 상황을 의도적으로 만들어 로직이 깨지지 않는지 확인할 수 있습니다.
실제 데이터가 없거나, 테이블 접근 권한이 없는 단계에서도 쿼리를 미리 검증할 수 있습니다.
집계 로직을 확인할 때
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는 실데이터에 의존하지 않고 분석 로직을 빠르게 검증하는 방법입니다.