Skip to main content

NULL 값의 정의와 적절한 사용

[397회][자막] 결혼 적령기, 결혼하기 싫은 이유 / 김창옥 포프리쇼 / 강연 (할 수있다 2024)

[397회][자막] 결혼 적령기, 결혼하기 싫은 이유 / 김창옥 포프리쇼 / 강연 (할 수있다 2024)
Anonim

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

  • NULL은 숫자 0이 아닙니다.
  • NULL은 빈 문자열 ( "") 값이 아닙니다.

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

    실제 세계에서 NULL

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

    과일 스탠드 재고품

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

    매실 레코드에 대해 0의 양을 포함하는 것은 분명히 부정확 할 것입니다. 아니 매실은 목록에 있습니다. 반대로, 우리는 자두가 있을지 모르지만, 확실하지는 않습니다.

    NULL 또는 NOT NULL?

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

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

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

    여기에있는 인벤토리 테이블은 인벤토리 ID 그리고 열을 허용하지만 수량 기둥.

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

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

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

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

    인벤토리 ID수량
    3자두

    NULL에서 작동 중

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

    산술 연산자

    • A + B = NULL
    • A - B = NULL
    • A * B = NULL
    • A / B = NULL

    비교 연산자

    • A = B = NULL
    • A! = B = NULL
    • A> B = NULL
    • A! <B = NULL

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

    간단히 말해서 NULL입니다.