NULL 값에 대해 알아야 할 사항

데이터베이스 문제를 피하기 위해 NULL 사용 이해

데이터베이스 세계에 익숙하지 않은 사용자는 종종 필드와 관련된 특별한 값, 즉 NULL 값과 혼동됩니다. 이 값은 모든 유형의 데이터가 들어있는 필드에서 찾을 수 있으며 관계형 데이터베이스의 컨텍스트 내에서 매우 특별한 의미를가집니다. 아마도 NULL에 대한 몇 가지 단어로 NULL에 대한 논의를 시작하는 것이 가장 좋습니다.

오히려 NULL은 알 수없는 데이터 조각을 나타내는 데 사용되는 값입니다. 종종 데이터베이스 프로그래머는 "NULL 값"이라는 문구를 사용하지만 이는 잘못된 것입니다. 주의 : NULL은 필드가 공백으로 표시되는 알 수없는 값입니다.

실제 세계에서 NULL

간단한 예를 살펴 보겠습니다 : 과자 용 재고 목록이 들어있는 표. 인벤토리에 사과 10 개와 오렌지 3 개가 들어 있다고 가정합니다. 우리는 또한 자두를 저장하지만, 우리의 재고 목록 정보는 불완전하고 얼마만큼의 자두가 재고 있는지 알 수 없습니다. NULL 값을 사용하면 인벤토리 테이블이 아래 표에 나와 있습니다.

과일 스탠드 재고품

인벤토리 ID 수량
1 사과 10
2 오렌지
자두 없는


그것은 자두 기록에 대해 0의 양을 포함하는 것이 틀 렸을 것입니다. 왜냐하면 그것은 우리가 재고에 매실을 가지고 있지 않았 음을 의미하기 때문입니다. 반대로, 우리는 자두가 있을지 모르지만, 확실하지는 않습니다.

NULL 또는 NOT NULL?

NULL 값을 허용하거나 허용하지 않도록 테이블을 설계 할 수 있습니다.

다음은 일부 NULL을 허용하는 인벤토리 테이블을 만드는 SQL 예제입니다.

SQL> 테이블 인벤토리 작성 (InventoryID INT NULL이 아닌 항목 VARCHAR (20) NOT NULL, 수량 INT);

여기에있는 인벤토리 테이블은 인벤토리 ID항목 열에 대해 NULL 값을 허용하지 않지만 수량 열에는 허용합니다.

NULL 값을 허용하는 것은 완벽하게 괜찮지 만 NULL 값은 항상 NULL 값을 갖는 값의 비교가 항상 NULL이되기 때문에 문제를 일으킬 수 있습니다.

테이블에 NULL 값이 포함되어 있는지 확인하려면 IS NULL 또는 IS NOT NULL 연산자를 사용하십시오. 다음은 IS NULL의 예입니다.

SQL> 수량이 NULL이 아닌 INVENTORYID, ITEM, QUINTTITY를 선택하십시오.

여기 예제에서 볼 수 있듯이 다음과 같이 반환됩니다.

인벤토리 ID 수량
자두

NULL에서 작동 중

NULL 값을 사용하면 SQL 작업 에 따라 NULL 결과가 생성되는 경우가 많습니다. 예를 들어 A가 NULL이라고 가정합니다.

산술 연산자

비교 연산자

이것은 하나의 피연산자가 NULL이면 항상 NULL을 반환하는 연산자의 몇 가지 예입니다. 훨씬 복잡한 쿼리가 존재하며 모두 NULL 값으로 복잡합니다. take home point는 데이터베이스에 NULL 값을 허용하면 그 의미를 이해하고 계획을 세우는 것입니다.

간단히 말해서 NULL 입니다.