안녕하십니까.
동일한 자료에 대해서 GROUP BY 문을 써서 집합함수를 사용한 것이나, GROUP BY 없이 집합함수를 사용할 때에 결과가 다르게 나오는 이유에 대해서
알고 싶습니다.
[예1]
SELECT SUM(ETC_AMT) AS TOT_AMT
FROM TB_LM061
WHERE BLNG_CD = '1111'
AND LABR_WK_GR_CD = '01'
AND LWK_YMD >= '202101' || DECODE('0', '0', '01', '1', '16', '01')
AND LWK_YMD <= '202101' || DECODE('0', '0', '15', '31')
AND GIVE_FG = '0'
[예2]
SELECT SUM(ETC_AMT) AS TOT_AMT
FROM TB_LM061
WHERE BLNG_CD = '1111'
AND LABR_WK_GR_CD = '01'
AND LWK_YMD >= '202101' || DECODE('0', '0', '01', '1', '16', '01')
AND LWK_YMD <= '202101' || DECODE('0', '0', '15', '31')
AND GIVE_FG = '0'
GROUP BY BLNG_CD, LABR_ENO, LABR_WK_GR_CD
예1 과 예2의 차이는 GROUP BY 절을 사용했냐 안했냐 차이고요.
결과는 예1 은 NULL 행이 발생이 되고, 예2는 No rows returned 즉, 행이 발생되지 않았습니다.
위 조건절로 하게 되면, 데이터는 나오지 않습니다.
왜 차이가 나는지 답변 주시면 감사하겠습니다.