Null
포스트
취소

Null

해당 포스트는 SQLD를 학습하며 정리한 내용에 대한 포스트입니다.


이론을 학습한 내용을 정리하고 퀴즈, 기출문제 등을 기록하려고 합니다.


🌈 NULL

💻 NULL

NULL아직 알려지지 않은 미지의 값이다.

NULL값이 없음, 미정의 개념으로 이해할 수 있다.

0 또는 공백과는 다르다. 0은 하나의 숫자이고, 공백은 하나의 문자이다.

테이블을 생성할때 NOT NULL 또는 PRIMARY KEY로 정의되지 않은 모든 데이터 유형은 NULL 값을 포함할 수 있다.

NULL 값을 포함하는 연산의 경우 결과값도 NULL 값이다.

  • 모르는 데이터에 숫자를 더하거나 빼도 결과는 마찬가지로 모르는 데이터인 것과 같다.

결과값을 NULL이 아닌 다른 값을 얻고자할 때 NVL/ISNULL 함수를 사용한다.

  • NULL 값의 대상이 숫자 유형데이터인 경우는 주로 0(ZERO)으로, 문자 유형 데이터인 경우는 공백보다는 x같이 해당 시스템에서 의미 없는 문자로 바꾸는 경우가 많다.

예를 들어, 친구와 약속장소를 정하지 않았다고 생각해보자.

  • 친구와 “어디서 만날까?”라는 질문에 대답하기 어렵다.

  • 왜냐하면 아직 약속장소를 정하지 않았기 때문이다.

  • 같은 방식으로 데이터베이스에서 NULL 값은 아직 정보가 없거나 알려지지 않음 혹은 적용되지 않음을 나타낸다.

생년월일이름수입지출직업
20000101강산010000대학생
19921231이로운NULL20000프리랜서
19900402이꼬비10000050000개발자

위 데이터에서 강산의 수입은 0원이지만 프리랜서 이로운의 수입은 NULL이다.

얼핏보면 같아 보일 수도 있지만 두 개의 데이터가 갖는 의미는 엄연히 다르다.

결론적으로 이로운의 수입은 0원일 수도 있고 수천만 원일 수도 있다.

어떠한 사유로 데이터가 입력되지 않아 NULL 값이 된 것이다.

SELECT 수입 - 지출 FROM 테이블

생년월일이름수입지출직업
20000101강산010000대학생
19921231이로운NULL20000프리랜서
19900402이꼬비10000050000개발자

가로 연산 : NULL이 포함되어 있으면 결과값은 NULL이 된다.

SELECT SUM(수입) FROM 테이블

생년월일이름수입지출직업
20000101강산010000대학생
19921231이로운NULL20000프리랜서
19900402이꼬비10000050000개발자

세로 연산: 다른 인스턴스의 데이터와 연산할 때는 NULL 값을 제외한다.


🎯 추가 내용

NULL과의 비교 연산 결과항상 NULL

NULL이 포함된 집계 함수NULL을 제외하고 계산

WHERE COL IS NULL조건은 값이 NULL인 행을 반환

WHERE COL = NULL조건은 결과가 항상 FALSE이므로 아무 행도 반환하지 않음


📚 레퍼런스

정미나. (유튜브 선생님에게 배우는) 유선배 SQL개발자(SQLD) 과외노트 / [정미나 저] (2023). Print.

한국데이터산업진흥원. SQL 자격검정 실전문제 : 국가공인 SQL전문가·국가공인 SQL개발자 / 한국데이터산업진흥원 [편] (2020). Print.

SQL 개발자 (SQLD) 자격증 따기 Part.1 / [유용한IT학습]

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.