자격증/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