[sql] 뷰의 종류 (기본 뷰, 인라인 뷰, 업데이트 가능 뷰 등)

뷰(View)는 SQL에서 데이터의 저장 없이 가상의 테이블을 생성하는 개념입니다. 뷰는 원본 테이블을 기반으로 쿼리 결과를 저장하는 것이 아니라, 원본 테이블의 데이터를 직접 참조하여 쿼리 결과를 생성합니다. 이러한 뷰는 다양한 형태로 생성될 수 있는데, 대표적인 뷰의 종류는 다음과 같습니다.

1. 기본 뷰 (Simple View)

기본 뷰는 가장 기본적인 형태의 뷰로, 단일 테이블에 대한 SELECT 문으로 생성됩니다. 기본 뷰는 원본 테이블의 일부 열만 선택하거나, 필터링 조건을 추가하여 특정 행만 조회하는 등의 작업을 할 수 있습니다.

CREATE VIEW 기본뷰명 AS
SELECT 필드1, 필드2, 필드3
FROM 원본테이블
WHERE 조건;

2. 인라인 뷰 (Inline View)

인라인 뷰는 쿼리의 FROM 절 안에서 사용되는 뷰입니다. 즉, 별도의 뷰를 생성하지 않고 쿼리 내에서 인라인으로 정의됩니다. 인라인 뷰는 주로 서브쿼리로 사용되며, 서브쿼리의 결과를 임시로 생성된 가상 테이블로 사용하는 것이 특징입니다.

SELECT 필드1, 필드2, 필드3
FROM (
    SELECT 필드1, 필드2, 필드3
    FROM 원본테이블
    WHERE 조건
) 인라인뷰;

3. 업데이트 가능 뷰 (Updatable View)

업데이트 가능 뷰는 DML(데이터 조작 언어) 문장을 통해 뷰의 데이터를 수정할 수 있는 뷰입니다. 즉, SELECT 문뿐만 아니라 INSERT, UPDATE, DELETE 문 등을 통해 뷰에 대한 데이터 조작이 가능합니다. 단, 업데이트 가능 뷰를 생성하기 위해서는 몇 가지 조건을 만족해야 합니다.

CREATE VIEW 업데이트가능뷰명
AS
SELECT 필드1, 필드2, 필드3
FROM 원본테이블
WHERE 조건
WITH CHECK OPTION;

위의 예제에서 WITH CHECK OPTION은 업데이트 시 원본 테이블의 데이터에 영향을 주는 조건을 만족하는 데이터만 변경할 수 있도록 제한하는 옵션입니다.

참고: https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_8004.htm