문제
다음 SQL의 실행 결과로 가장 적절한 것은?
SQL-- PRODUCT 테이블: CATEGORY(A,A,B,B,C), PRICE(1000,1500,2000,2500,3000) SELECT CATEGORY, MAX(PRICE) FROM PRODUCT GROUP BY CATEGORY HAVING COUNT(*) >= 2 AND MAX(PRICE) > 2000 ORDER BY MAX(PRICE) DESC;
① B 카테고리만 1행 ② A, B 카테고리 2행 ③ B, C 카테고리 2행 ④ A, B, C 카테고리 3행
정답
1번
해설
GROUP BY CATEGORY 결과: A(COUNT=2, MAX=1500), B(COUNT=2, MAX=2500), C(COUNT=1, MAX=3000). HAVING 조건 COUNT(*) >= 2를 만족하는 것은 A, B이고, 추가로 MAX(PRICE) > 2000 조건을 만족하는 것은 B(2500)만입니다. C는 COUNT=1이므로 첫 번째 조건에서 제외됩니다.