[SQLD] SQL NULL 연산 및 관련함수
[SQLD] SQL NULL 연산 및 관련함수 — #SQLD #개발자의도구들 #SQLNULL #SQL #NULL연산 #NULL관련함수 24년도 SQLD 제...
#SQLD#Naver Blog
#SQLD #개발자의도구들 #SQLNULL #SQL #NULL연산 #NULL관련함수
24년도 SQLD 제 55회 시험을 대비하며 정리한 글입니다.
\* 본글은 PC버전에 최적화 되어있습니다.
**\* **전체 목차는 여기를 참고해주세요.
SQL 기본 및 활용
SQL자격검정 실전문제
SQLD 기본 및 활용 part로 가장 많은 비중을 차지하는 파트입니다. 기본기는 제외하고 혼동될만한 부분을 정리해 보았습니다.
NULL
NULL 연산 정리
| 👉 핵심정리NULL + 연산(+. -, \*, /)의 결과는 NULLNULL과 비교연산(<, >, <=. >=, =)은 FALSE집계함수 SUM(Col1)에 NULL 이 포함되면 제외하고 더함 |
|---|
NULL 값 생성 예시
| 👉 핵심정리service\_name VARCHAR2(100) NULL; -- table의 속성 INSERT INTO services VALUES service\_name = "" 입력시 NULL이 들어간다.혹은 col에서 NULL처리할 부분만 생략한다.혹은 명시적으로 NULL을 입력한다.insert into department values (301, '환경보건학과', NULL, NULL); |
|---|
NULL 관련 함수
| 👉 핵심정리NVL(exp1, exp2): exp1이 NULL 이라면, exp2를 출력한다.NVL(sal, 500): sal 값의 NULL이면 500으로 대체단, exp1, exp2의 타입이 같아야한다.ISNULL(exp1, exp2): 위와 동일하다.NULLIF(exp1, exp2): exp1이, exp2와 같다면 NULL을 출력하고, 같지 않다면 exp1을 그대로 리턴COALESCE(exp1, exp2, exp3....): 여러 표현식에서 NULL 이아닌 최초의 표현식을 나타낸다.exp가 모두 NULL이라면 NULL을 return한다.NVL에서 기회를 여러번 두는 것과 같다. |
|---|
오답노트
Q. 실행 결과가 NULL인 SQL?
1. SELECT COALESCE(NULL, 'A') FROM DUAL;
2. SELECT NULLIF('A', 'A') FROM DUAL;
3. SELECT NVL('A', NULL) FROM DUAL;
4. SELECT NVL(NULL, 0) + 10 FROM DUAL;
A. 2
💡 NULLIF는 두 표현식이 서로 같다면 NULL을 출력한다.
1. 'A'로 대체
3. 'A'가 NULL이 아니라 대체가 안일어남
4. NULL이 0으로 대체된다.