더북(TheBook)

Knowhow | 복잡한 쿼리를 작성해야 할 때, 어떻게 해야 할까?

정답은 없다. 오히려 정답이 있는 것이 이상하다. 조회 대상 테이블과 컬럼, 원하는 결과가 때에 따라 모두 다르기 때문이다. 하지만 마음을 가다듬고 차근차근 작성한다면 불가능한 일은 없다. 예로부터 전해오는 복잡한 문제를 풀 때 사용하는 방법이 있는데, 바로 “분할해서 정복하라(Divide & Conquer)” 이다. 복잡한 쿼리를 작성할 때에도 작은 단위로 분할한 뒤, 다시 합치면 의외로 간단히 해결할 수 있다. 이런 맥락에서 필자 나름대로 정리한 쿼리 작성 절차는 다음과 같다.

(1) 최종적으로 조회되는 결과 항목을 정의한다.

(2) 필요한 테이블과 컬럼을 파악한다.

(3) 작은 단위로 분할해서 쿼리를 작성한다.

(4) 분할한 단위의 쿼리를 하나로 합쳐 최종 결과를 산출한다.

(5) 결과를 검증한다.

그럼 한 가지 예를 들어 보자. 연도별로 이탈리아 매출 데이터를 살펴 매출실적이 가장 많은 사원의 목록과 매출액을 구하는 쿼리를 작성해 본다면,

(1) 출력항목

연도 최대매출사원명 최대매출액

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.