자격증/SQLD

[SQL 자격검정 실전문제 / 2과목] p.35 9번

닉네임생각즁 2024. 2. 28. 20:49

 

- NULL의 연산

  • NULL 값과의 연산(+, -, *, / 등)은 NULL 값을 리턴
  • NULL 값과의 비교연산(=, >, >=, <, <=)은 거짓(FALSE)을 리턴
  • 특정 값보다 크다, 적다라고 표현할 수 없음

 

⭐ NULL과 만났을 때 SUM과 +의 차이 ⭐

  • SUM :  NULL 제외하고 수행
  • + : NULL 있으면 답은 무조건 NULL

 

[ TAM_A ]

COL1 COL2 COL3
30 <NULL> 20
<NULL> 50 10
0 10 <NULL>

 

 

1. SELECT SUM(COL2) + SUM(COL3) FROM TAM_A;

 → 60 + 30

 → 90

 

2. SELECT SUM(COL2) + SUM(COL3) FROM TAM_A WHERE COL1 > 0;

 → NULL + 30

 → NULL

 

3. SELECT SUM(COL2) + SUM(COL3) FROM TAM_A WHERE COL1  IS NOT NULL;

 → 10 + 20

 → 30

 

4. SELECT SUM(COL2) + SUM(COL3) FROM TAM_A  WHERE COL1  IS NULL ;

 → 50 + 10

 → 60

'자격증 > SQLD' 카테고리의 다른 글

그룹 합수  (0) 2024.03.02
NULL 관련 함수  (2) 2024.03.02
COUNT 집계 함수  (0) 2024.03.02
계층형 질의  (1) 2024.03.02
JOIN  (0) 2024.03.01