문제
다음 SQL의 실행 결과로 가장 적절한 것은?
SQLCREATE TABLE ORDERS (REGION VARCHAR(10), SALES INT); INSERT INTO ORDERS VALUES ('EAST', 100), ('WEST', 200), ('EAST', 150), ('NORTH', 300), ('WEST', 250); SELECT REGION, SUM(SALES) FROM ORDERS WHERE SALES >= 150 GROUP BY REGION HAVING COUNT(*) > 1;
① EAST: 150, WEST: 450 ② WEST: 450 ③ EAST: 250, WEST: 450 ④ NORTH: 300, WEST: 450
정답
2번
해설
WHERE SALES >= 150으로 필터링하면 (EAST,150), (WEST,200), (NORTH,300), (WEST,250)이 남습니다. GROUP BY REGION으로 그룹화하면 EAST:1개, WEST:2개, NORTH:1개가 됩니다. HAVING COUNT(*) > 1 조건을 만족하는 것은 WEST 그룹뿐이므로, WEST: 450만 반환됩니다.