본문 바로가기

자격증/SQLD

[SQLD][아이리포]13. 관계형 데이터베이스 | SQL 함수 | NULL | NVL | NULLIF | COALESCE | ISNULL

반응형
목차

3. 관계형 데이터베이스
3.3. 함수
3-3-1. NULL 
3-3-2. NVL
3-3-2-1. 예제
3-3-3. NULLIF
3-3-3-1. 예제
3-3-4. COALESCE
3-3-4-1. 예제

3. 관계형 데이터베이스

3-3. 함수

1️⃣ NULL

NULL은 값이 없는 상태를 의미합니다.

 

숫자 0이나 빈 문자열('')과는 다른 개념으로, 아직 값이 입력되지 않았거나 알 수 없는 값을 나타냅니다.

 

📌 SQLD에서 자주 출제되는 개념이므로 반드시 구분해서 기억해야 합니다.

2️⃣ NVL

NVL 함수는 NULL 값을 사용자가 지정한 다른 값으로 변경(치환)하는 함수입니다.

 

첫 번째 인자가 NULL이 아니면 그대로 반환하고, NULL이면 두 번째 인자를 반환합니다.

 

💡 SQL Server에서는 NVL 대신 ISNULL 함수를 사용합니다.

 

✔️ 기본 사용법

SELECT NVL(값, 대체값) FROM DUAL;

🔹 예제

 

SELECT EMPNO, ENAME, NVL(COMM, 0) AS COMM FROM EMP;

 

실행결과

3️⃣ NULLIF

NULLIF 함수는 두 값을 비교하여 같으면 NULL을 반환하고, 다르면 첫 번재 값을 반환하는 함수입니다.

 

주로 특정 값을 제외하거나 오류를 방지할 때 사용합니다.

 

✔️ 기본 사용법

SELECT NULLIF(값1, 값2) FROM DUAL;

🔹 예제

SELECT EMPNO, ENAME, MGR, NULLIF(MGR, 7698) AS NM FROM EMP;

 

 실행결과

4️⃣ COALESCE

COALESCE 함수는 입력한 값들을 왼쪽부터 순서대로 확인하여, NULL이 아닌 첫 번째 값을 반환하는 함수입니다.

 

여러 개의 컬럼 중 값이 존재하는 것을 우선적으로 사용하고 싶을 때 많이 사용합니다.

 

✔️ 기본 사용법

SELECT COALESCE(값1, 값2, 값3, ...) FROM DUAL;

🔹 예제

SELECT EMPNO, COALESCE(HOURLY_WAGE, SALARY, COMMISSION) AS TOTAL_SALARY FROM WAGES;

 

 실행결과

 

📌 요약정리

함수 동작
NVL(값, 대체값) 값이 NULL이면 대체값 반환
NULLIF(A, B) A와 B가 같으면 NULL 반환
COALESCE(A, B, C, ...) NULL이 아닌 첫 번째 값 반환

 


🔗 출처

[SQLD 모든 것]

 

반응형