출고 테이블에 12행이 있고 창고는 3곳이다. 다음 두 SQL 의 결과… | [SQLD] SQL 개발자 기출유형 모의고사 8회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 8회
출고 테이블에 12행이 있고 창고는 3곳이다. 다음 두 SQL 의 결과 행 수를 순서대로 나열한 것은?㉠ SELECT 창고, SUM(수량) OVER (PARTITION BY 창고) FROM 출고; ㉡ SELECT 창고, SUM(수량) FROM 출고 GROUP BY 창고;
1
12, 12
2
12, 3
3
3, 3
4
3, 12
해설
윈도우 함수는 집계 값을 각 행 옆에 붙일 뿐 행을 합치지 않으므로 ㉠은 원래 행 수 12행 그대로이다.
반면 GROUP BY 는 같은 창고 행을 하나로 묶어 그룹당 1행을 만들므로 ㉡은 창고 수와 같은 3행이다.
- 둘 다 3행이라 보면 윈도우 함수도 행을 묶는다고 오해한 것이다.
- 3, 12 는 두 구문의 동작을 서로 바꿔 본 것이다.
- 둘 다 12행이라 보면 GROUP BY 가 행을 줄이지 않는다고 본 것이다.
오류나 개정된 내용이 보이면 알려주세요