Oracle - [Null]

IRISH·2023년 12월 23일
0

Oracle

목록 보기
1/17
post-thumbnail

학습 계기

회사 입사 이후, 팀에 할당된 인원이 별로 없었기에 나는 신입인데도 불구하고 화면 개발과 더불어 DB를 다뤄야 했다. 이에 따라 자연스럽게 SQL을 해야 했다.

실제 시스템을 개발했기 때문에 사용자의 데이터의 정합성은 매우 중요하게 다룰 필요성이 있었다. 모든 사용자의 데이터가 필수로 들어가야 하는 값이라면 Null을 신경 쓸 필요가 없겠지만, 모든 데이터가 필수로 사용되지는 않았다. 즉, Null로 사용되는 데이터가 존재한다는 것이다.

SQL을 하면서 고급 쿼리를 사용하는 것도 중요하지만, 그보다도 중요한 것은 사용자에게 리턴해주는 결과값이 문제 없이 잘 나와야 한다고 생각했다.

화면으로 비유하자면, 아무리 화면이 이뻐도 데이터의 흐름이 이상하다면 배보다 배꼽이 큰 것처럼 SQL도 그러하다.

입사 전에 코테를 준비하면서 SQL을 공부했어서 Null의 기본 특성은 알고 있었지만, 막상 실무를 하려니 Null에 대한 특성과 위험성을 더욱 주의 깊게 공부해야겠다는 생각이 들었다.

(개발한 화면에서 데이터 정합성을 테스트하는 도중 결과값이 제대로 나오지 않았었는데, 그 원인을 분석해보니 NULL값도 해당 데이터 처리 계산에 포함했기 때문….)

따라서, Null에 대한 공부를 하게 되었다.

SQL NULL 값이란?

  • SQL에서 NULL 값은 값이 없다는 의미
    • NULL 값은 0이나 공백인 필드와는 다름

SQL IS NULL 구문, IS NOT NULL 구문 사용법

  • NULL 값은 =, <, >, <>와 같은 비교 연산자로 비교하거나 테스트할 수 없음
  • NULL 값을 찾거나 테스트하려면 IS NULL 연산자나, IS NOT NULL 연산자를 사용

쿼리 형식

  • IS NULL 구문 (NULL 값인지/빈 값인지 판단하기)
-- column_name가 null인 값만 조회하기
SELECT column_names
FROM table_name
WHERE column_name IS NULL;
  • IS NOT NULL 구문 (NULL 값이 아닌지/값이 있는지 판단하기)
-- column_names가 null이 아닌 값만 조회하기
SELECT column_names
FROM table_name
WHERE column_name IS NOT NULL;
profile
#Software Engineer #IRISH

0개의 댓글

관련 채용 정보