본문 바로가기
[파이썬]/데이터베이스

[MariaDB] Null, Null 체크(+nvl함수)

by sung min_Kim 2023. 11. 24.
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절뿐만 아니라 다른 문장에서도 사용될 수 있다.


· 예시

 

Is Null

 Where절에 'Is Null' 명령어를 사용하여 상품 마일리지 점수의 값이 Null인 조건을 가진 상품코드와 상품 마일리지를 조회하였다. 반대로 'Is Null' 대신 'Is Not Null' 명령어를 사용하면 Null이 아닌 값들에 대해 조회할 수 있다.


nvl_Null

nvl 함수를 값이 존재하지 않는 Null 컬럼에 적용하여, Null인 값에 대해 원하는 값으로 대체하였다.


nvl_Not Null

값이 존재하는 컬럼은 해당 값이 그대로 출력되는 것을 볼 수 있다.


  nvl 함수는 그룹 함수와 함께 사용할 때 특히 유용하다. 그룹 함수는 여러 행의 값을 집계하여 하나의 결과를 반환하는데, 이 과정에서 Null 값은 일반적으로 무시된다.

 그러나 경우에 따라서는 Null 값을 특정 값으로 간주하고 집계를 수행하는 경우에 한해 nvl 함수를 사용하여 Null 값을 원하는 값으로 대체할 수 있다.

 이처럼 nvl 함수는 그룹 함수의 결과를 보다 세밀하게 조절하는 데 유용하게 사용된다.