-
SQLD 자격검증실전문제 110번 문제<자격증>/[SQLD] 2023. 3. 19. 20:23728x90
110번. 자재발주 테이블에 SQL을 수행하여 아래와 같은 결과를 얻었다. ᄀ에 들어갈 문장으로 옳은 것은?
[SQL] SELECT CASE WHEN GROUPING(자재번호) = 1 THEN '자재전체' ELSE 자재번호 END AS 자재번호 CASE WHEN GROUPING(발주처ID)=1 THEN '발주처전체' ELSE 발주처ID END AS 발주처ID CASE WHEN GROUPING(발주일자) = 1 THEN '발주일자전체' ELSE 발주일자 END AS 발주일자 SUM(발주수량) AS 발주수량합계 FROM 자재발주 ㄱ ORDER BY 자재번호, 발주처ID, 발주일자
결과
정답
1 GROUP BY CUBE (자재번호, (발주처ID. 발주일자))
2 GROUP BY CUBE (자재번호, 발주처ID, 발주일자)
3 GROUP BY GROUPING SETS (자재번호, 발주처ID, 발주일자)
4 GROUP BY GROUPING SETS (자재번호, (발주처ID 발주일자)GROUP BY GROUPING SETS는 여러 개의 GROUP BY 절을 동시에 처리할 수 있는 SQL 구문입니다. GROUP BY GROUPING SETS는 GROUP BY와 함께 사용하여, 여러 가지 집계 결과를 동시에 출력할 때 사용됩니다.
위의 테이블에서 GROUP BY GROUPING SETS (자재번호, (발주처ID, 발주일자)) 구문은 다음과 같이 해석됩니다:
- 자재번호별로 그룹화합니다.
- 발주처ID와 발주일자도 함께 그룹화합니다.
- 자재번호별로 발주처ID와 발주일자별 발주수량을 계산합니다.
- 자재번호별 총합과, 자재번호와 발주처ID별 총합, 자재번호와 발주처ID와 발주일자별 총합을 모두 출력합니다.
즉, 자재번호, 발주처ID, 발주일자별 발주수량을 계산하며, 자재번호별 발주처ID와 발주일자별 합계도 함께 출력합니다.
728x90728x90'<자격증> > [SQLD]' 카테고리의 다른 글
SQLD 자격검증실전문제 106번 문제 (0) 2023.03.19 SQLD 자격검증실전문제 109번 문제 (0) 2023.03.19 SQLD 자격검증실전문제 111번 문제 (0) 2023.03.19 SQLD 자격검증실전문제 112번 문제 (0) 2023.03.19 SQLD 자격검증실전문제 113번 문제 (0) 2023.03.19