▲ 그림 12-10 쿼리 12-15를 실행한 결과
쿼리를 자세히 살펴보죠. 월별 미세먼지와 초미세먼지의 평균값을 구하는 서브쿼리를 작성했습니다. 이 부분은 쿼리 12-14와 비슷하니 어렵지 않을 거예요. 그리고 미세먼지와 초미세먼지 평균값에 대한 미세먼지 상태를 구하는 서브쿼리를 SELECT 절에 기술했습니다. 두 서브쿼리는 fine_dust_standard 테이블과 조인하고 있는데, 미세먼지의 경우 FROM 절에 있는 서브쿼리에서 구한 평균값인 pm10_avg 값이 fine_dust_standard 테이블의 pm10_start와 pm10_end 값 사이에 있는 건에 대해 미세먼지 상태(std_name)를 조회하고 있습니다. 초미세먼지도 같은 로직을 적용했습니다. 또한, 별칭을 공백이 들어간 한글(미세먼지 상태)로 표시하기 위해 “ ”로 감쌌습니다. 초미세먼지에 대해서도 같은 로직을 적용했습니다.
결과를 보면 월별 평균 미세먼지 농도, 초미세먼지 농도의 수치와 그에 따른 미세먼지 상태가 조회됩니다. 이전 쿼리에 비해 한결 정제된 느낌이군요. 추이를 보면 겨울부터 미세먼지가 상태가 나쁘고 봄까지 진행되다가 여름에 공기가 깨끗해지는 것을 알 수 있습니다. 다시 한번 말하지만, 이 데이터는 데이터 건수를 줄이기 위해 평균치로 데이터를 가공한 것이라 정확한 데이터가 아님을 밝혀둡니다. 하지만 추이를 보는 데는 무리가 없을 것 같군요.