[sql] 뷰와 NULL 값의 처리

뷰(View)는 데이터베이스에서 저장된 테이블의 논리적인 표현입니다. 뷰는 실제 데이터를 포함하지 않고, 쿼리 결과를 가상의 테이블로 나타내는 역할을 합니다. 그러나 때로는 뷰를 사용할 때 NULL 값을 다루어야 하는 경우가 있습니다.

NULL은 데이터가 존재하지 않음을 나타내는 특별한 값입니다. 뷰에서 NULL 값을 다루는 방법은 다음과 같습니다:

1. NULL 값을 제외하고 결과 보기

뷰에서 NULL 값을 제외하고 결과를 보고 싶은 경우, WHERE 절을 사용하여 NULL 값을 필터링할 수 있습니다.

CREATE VIEW my_view AS
SELECT column1, column2
FROM my_table
WHERE column1 IS NOT NULL;

위의 예제에서는 my_table 테이블의 column1 값이 NULL인 행을 뷰에서 제외하고 결과를 반환합니다.

2. NULL 값을 다른 값으로 대체하기

뷰에서 NULL 값을 다른 값으로 대체하고 싶은 경우, COALESCE 함수를 사용할 수 있습니다. COALESCE 함수는 여러 인자 중 첫 번째로 NULL이 아닌 값을 반환합니다.

CREATE VIEW my_view AS
SELECT column1, COALESCE(column2, 'N/A') AS column2
FROM my_table;

위의 예제에서는 column2 값이 NULL인 경우, ‘N/A’로 대체해서 결과를 반환합니다.

3. NULL 값을 특정 값으로 분류하기

뷰에서 NULL 값을 특정 값으로 분류하고 싶은 경우, CASE 문을 사용할 수 있습니다. CASE 문은 특정 조건에 따라 다른 값을 반환합니다.

CREATE VIEW my_view AS
SELECT column1,
       CASE WHEN column2 IS NULL THEN 'Unknown'
            ELSE column2
       END AS column2
FROM my_table;

위의 예제에서는 column2 값이 NULL인 경우, ‘Unknown’으로 분류해서 결과를 반환합니다.

뷰를 사용할 때 NULL 값을 다루는 방법은 데이터의 특성과 요구에 따라 다를 수 있습니다. 위의 예제들은 NULL 값을 처리하는 몇 가지 일반적인 방법을 보여주었지만, 실제 상황에 따라 다른 방법을 적용할 수도 있습니다.