본문 바로가기
SQL 문제 풀기/2. SQLD 기출 : 2024.3.01~2024.4.25

<SQLD 20>그룹함수 SUM에 대한 기출문제

by HYEHYE_SON 2024. 3. 20.
728x90

 

매일 SQLD 기출 문제 풀기 챌린지


 


문제20.

아래 T1 테이블의 SQL실행 후 결과값을 작성하시오 ?

 

[ 테이블명 : T1 ]

COL1 COL2 COL3
10 NULL 10
NULL 50 10
0 10 10

 

[SQL]

ㄱ. SELECT SUM(col2) FROM T1;
ㄴ. SELECT SUM(col2) FROM T1 WHERE col1 > 0;
ㄷ. SELECT SUM(col2) FROM T1 WHERE col1 IS NOT NULL;
ㄹ. SELECT SUM(col2) FROM T1 WHERE col1 IS NULL;

 

단답형 답 


( ㄱ )  :

( ㄴ )  :

( ㄷ ) :

( ㄹ ) :


해설해보기

SUM() 함수
- 합계를 구하는 그룹함수
- 그룹함수는 NULL값을 무시하는 특성이 있다.


# ㄱ.
COL2의 합계를 구하는 SQL = 60


# ㄴ.
COL1의 값이 0보다 큰  COL2의 합계를 구하는 SQL = NULL
왜?
NULL은 알 수 없는 값이므로 값을 비교할 수 없기 때문이다.


# ㄷ.
COL1의 값이 NULL이 아닌 COL2의 합계를 구하는 SQL = 10
왜?
조건에 의해 50은 제외되며,
NULL값은 무시하고 SUM이 이루어지기 때문에 답은 10이다


# ㄹ.
COL1의 값이 NULL인 COL2의 합계를 구하는 SQL =50


따라서 정답은 
60, NULL, 10, 50 이다.

 
직접 실행해보기

# ㄱ.

SELECT SUM(col2) 
    FROM T1;

 

# ㄴ.

SELECT SUM(col2) 
    FROM T1 
    WHERE col1 > 0;

 

# ㄷ.

SELECT SUM(col2) 
    FROM T1 
    WHERE col1 IS NOT NULL;

 

# ㄹ.

SELECT SUM(col2) 
    FROM T1 
    WHERE col1 IS NULL;


관련 스크립트

create  table  t1
( col1   number(10),
  col2   number(10),
  col3   number(10) );

insert  into  t1  values( 10, null, 10 );
insert  into  t1  values( null, 50, 10 );
insert  into  t1  values( 0, 10, 10 );

commit;

 

반응형