[SQL] IS NULL 정리

6720·2023년 4월 12일
0

이거 모르겠어요

목록 보기
14/38
  • 이 게시글은 프로그래머스 SQL Kit - IS NULL를 기준으로 문제에 쓰였던 표현을 정리하며, 그 외의 다른 이론이나 공식을 정리함.
  • MySQL을 기준으로 정리함.

IS NULL

데이터가 NULL인지를 확인하기 위한 연산자

# 데이터가 null 값만 출력
select *
from table_name
where column1 is null;

# 데이터가 null이 아닌 값만 출력
select *
from table_name
where column1 is not null;

+) NULL: 아직 정의 되지 않은 미지의 값 또는 현재 알 수 없는 값으로 비교 자체가 불가능한 값.

[NULL 연산 특징]

  • 산술 연산: +, -, *, /

NULL과 다른 값에 대해 산술 연산을 하면 NULL을 반환함.

  • 비교 연산: =, <, >, <=, >=

NULL과 다른 값에 대해 비교 연산을 하면 FALSE를 반환함.

⇒ 특정 값보다 크다/작다를 판단할 수 없음.

ISNULL과 IFNULL

SQL Server에서는 ISNULL 함수를, MySQL에서는 IFNULL 함수를 사용하는데, 둘의 기능은 데이터가 null이면 다른 값으로 대체할 수 있도록 하는 함수임.

# MySQL 기준
IFNULL(컬럼, 컬럼이 null일 경우 대체할 값)

# column1의 데이터 중, null인 값은 'X'를 대체해서 출력하도록 함.
select IFNULL(column1, 'X')
from table_name;

+) 필자는 이 함수를 몰랐을 때 다음처럼 case를 이용해서 풀었음.

select (
    case when column1 is null then 'X'
        when column1  is not null then column1
    end
)
from table_name;
profile
뭐라도 하자

0개의 댓글