Null, Not Null
데이터의 부재, 데이터의 필수
· 'Null'과 'Not Null'
Null과 Not Null은 데이터의 '값의 유무'를 표현하는 데 사용되는 키워드이며, 데이터의 무결성을 보장하는 데 중요한 역할을 수행한다.
- Null : '값이 없음'을 나타내는 특별한 값이다. 이는 빈 문자열과 다르며, '알려지지 않음' 또는 '적용되지 않음' 등의 상태를 표현하는 데 사용된다. 예를 들어, 특정 고객의 전화번호가 없는 경우, 해당 컬럼의 값은 Null이 될 수 있다.
- Not Null : 'Required'의 특성을 가지는 제약 조건이다. 'Not Null'이 적용된 필드는 값을 반드시 가져야 한다.
· Null 값 체크
Null 값을 확인할 때에는 'Is Null', 'Is Not Null'의 명령어와 'nvl()'함수를 사용한다.
- Is Null, Is Not Null : 주로 Where절 안에서 사용하는 조건 연산자이다. 이들은 특정 컬럼의 값이 Null인지, 아닌지를 판별할 때 사용한다.
- nvl() 함수 : nvl 함수는 Oracle, SQL에서 제공하는 함수로, 첫 번째 인자의 값이 Null인 경우에 대해 대체할 두 번째 인자의 값을 반환한다. 이 함수는 Where절뿐만 아니라 다른 문장에서도 사용될 수 있다.
· 예시
Where절에 'Is Null' 명령어를 사용하여 상품 마일리지 점수의 값이 Null인 조건을 가진 상품코드와 상품 마일리지를 조회하였다. 반대로 'Is Null' 대신 'Is Not Null' 명령어를 사용하면 Null이 아닌 값들에 대해 조회할 수 있다.
nvl 함수를 값이 존재하지 않는 Null 컬럼에 적용하여, Null인 값에 대해 원하는 값으로 대체하였다.
값이 존재하는 컬럼은 해당 값이 그대로 출력되는 것을 볼 수 있다.
nvl 함수는 그룹 함수와 함께 사용할 때 특히 유용하다. 그룹 함수는 여러 행의 값을 집계하여 하나의 결과를 반환하는데, 이 과정에서 Null 값은 일반적으로 무시된다.
그러나 경우에 따라서는 Null 값을 특정 값으로 간주하고 집계를 수행하는 경우에 한해 nvl 함수를 사용하여 Null 값을 원하는 값으로 대체할 수 있다.
이처럼 nvl 함수는 그룹 함수의 결과를 보다 세밀하게 조절하는 데 유용하게 사용된다.
'[파이썬] > 데이터베이스' 카테고리의 다른 글
[MariaDB] 연산자 (1) | 2023.11.25 |
---|---|
[MariaDB] 그룹 함수(Group By, Having) + 컴파일 순서 (0) | 2023.11.24 |
[MariaDB] 서브쿼리(Sub Query) + SQL 컴파일 순서 (1) | 2023.11.23 |
[MariaDB] CRUD (0) | 2023.11.21 |
[MariaDB] 테이블 생성 (+HeidiSQL) (1) | 2023.11.21 |