🔒SQL 실행 결과가 다른 하나는?
①
SELECT COL1, SUM(COL2)
FROM T1
GROUP BY COL1
UNION ALL
SELECT NULL, SUM(COL2)
FROM T1
ORDER BY 1 ASC;
②
SELECT COL1, SUM(COL2)
FROM T1
GROUP BY GROUPING SETS(COL1)
ORDER BY 1 ASC;
③
SELECT COL1, SUM(COL2)
FROM T1
GROUP BY ROLLUP(COL1)
ORDER BY 1 ASC;
④
SELECT COL1, SUM(COL2)
FROM T1
GROUP BY CUBE(COL1)
ORDER BY 1 ASC;
🔓정답
②
🗝️해설
✔️ 예시 데이터 (T1 테이블)
COL1 | COL2 |
A | 10 |
B | 20 |
C | 30 |
A | 15 |
B | 25 |
✔️ 각 쿼리 결과
①,③,④ 쿼리 실행결과 (UNION ALL/ROLLUP/CUBE)
COL1 | COL2 |
A | 25 |
B | 45 |
C | 30 |
NULL✨ | 100 |
② 쿼리 실행 결과(GROUPING SETS)
COL1 | COL2 |
A | 25 |
B | 45 |
C | 30 |
✔️ 요약
- 2번 GROUPING SETS 쿼리는 NULL 총합 행을 생성하지 않고, 각 개별 값에 대한 집계만 보여준다.
- 나머지 쿼리들은 각 그룹의 합계와 함께 전체 합계를 포함하여 결과를 보여준다.
✔️ 참고
[SQL] 그룹화 함수 ROLLUP, CUBE, GROUPING, GROUPING SETS
[SQL] 그룹화 함수 ROLLUP, CUBE, GROUPING, GROUPING SETS
이 게시물에서는 SQL에서 자주 사용되는 강력한 그룹화 도구들인 ROLL UP, GROUPING, GROUPING SETS, CUBE에 대해 간단히 설명하고, 각 기능에 대한 예제 코드를 제공하겠습니다.🙂 1️⃣ ROLLUP : 계층적 소
yewon31.tistory.com
'🎲DB_SQL' 카테고리의 다른 글
[📚목차] SQL 자격검정 실전문제 (0) | 2024.08.24 |
---|---|
[SQLD] SQL 자격검정 실전문제 69p 56번 문제 해설(UNION) (0) | 2024.08.23 |
[SQL] 그룹 함수(ROLLUP, CUBE, GROUPING, GROUPING SETS) (0) | 2024.08.23 |
[SQL] 크로스 조인(CROSS JOIN)과 풀 조인(FULL JOIN) 비교하기 (0) | 2024.08.21 |