티스토리 뷰

* 참고도서 

SQL전문가 가이드 2020 개정판 제 4절 NULL값의 이해

 

 

* 기본개념 

- NULL값의 연산은 언제나 NULL이다.

- 집계함수는 NULL 값을 제외하고 처리한다.

- NULL값으로 가능한 연산은 IS NULL, IS NOT NULL 뿐이다.

 

 

* 문제풀이 (집계함수)

이런 데이터를 가지는 tab1 테이블을 생성해보자.

 

CREATE TABLE tab1 (
  col1 number(10),
  col2 number(10),
  col3 number(10)
);

INSERT INTO tab1 values (10, 20, null);
INSERT INTO tab1 values (15, null, null);
INSERT INTO tab1 values (50, 70, 20);

 

 

문제1.

select sum(col1 + col2 + col3) from tab1; 결과는?  140

첫행부터 차례대로 null, null, 140이나, 집계함수는 null값을 포함하지 않으므로 140이다.

  

문제2.

select sum(col2 + col3) from tab1; 결과는? 90

첫행부터 차례대로 null, null, 90이나, 집계함수는 null값을 포함하지 않으므로 90이다.

 

문제3.

select sum(col2) from tab1; 결과는? 90

첫행부터 차례대로 20, null, 70이나, 집계함수는 null값을 포함하지 않으므로 90이다.

 

문제4.

select sum(col2) + sum(col3) from tab1; 결과는? 110 

먼저 sum(col2)의 경우 첫행부터 20, null, 70이므로 90 sum(col3)의 경우 첫행부터 null, null, 20이므로 20 

90 + 20 = 110 

 

문제5.

select sum(col2) / count(*), avg(col2) from tab1; 결과는? 30 45

sum(col2) / count(*) = 90 / 3 (총건수) = 30

avg(col2) = 90/2 = 45 (null값을 제외하고 처리함)

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함