문제
다음 SQL의 실행 결과로 가장 적절한 것은?
[SALES] DEPT: A,A,A,B,B,C / AMOUNT: 100,200,300,150,250,400
SQLSELECT DEPT, SUM(AMOUNT) FROM SALES WHERE AMOUNT >= 200 GROUP BY DEPT HAVING SUM(AMOUNT) > 300;
① A 500, B 250 ② A 500, C 400 ③ A 300, B 250, C 400 ④ A 500
정답
2번
해설
WHERE AMOUNT >= 200 조건으로 A:200,300, B:250, C:400이 선택된다. GROUP BY DEPT로 그룹화하면 A:500(200+300), B:250, C:400이 된다. HAVING SUM(AMOUNT) > 300 조건을 적용하면 A:500과 C:400이 조건을 만족한다(둘 다 300 초과). ① B의 합계가 250으로 300 이하라 HAVING 조건에 의해 제외된다. ③ B는 HAVING 조건을 만족하지 않는다. ④ C도 HAVING 조건을 만족하므로 A만 출력되는 것은 틀렸다.