가상테이블.
FROM절에 사용하면 특정 테이블을 조회하는 것과 같은 효과를 얻을 수 있음.
뷰와 서브쿼리 비교한 후 굳이 쓸 필요 없지 않나 라는 생각이 들 수 있지만 다음 두가지 목적을 위해 주로 사용한다.
뷰 사용 목적
SYSTEM계정으로 접속한 수 명령어를 사용하여 SCOTT 계정에 권한을 부여.
SCOTT은 오라클에서 기본으로 제공하는 계정. 샘플 데이터 들어있음
CREATE VIEW 뷰이름 AS (SELECT ~~ FROM ~~ WHERE ~~);
DROP VIEW 뷰이름;
뷰는 실제 데이터가 아닌 SELECT문만 저장하기 때문에 뷰를 삭제해도 테이블이나 데이터가 삭제되는 것은 아님.
CREATE문을 통해 객체로 만들어지는 뷰 외에 SQL문에서 일회성으로 만들어서 사용하는 뷰를 인라인 뷰라고 함.
SELECT 문에서 사용되는 서브쿼리, WITH절에서 미리 이름을 정의해두고 사용하는 SELECT문이 해당.
SELECT ~~ FROM (SELECT * FROM tb1 ORDER BY COLMN1) T;
WITH T AS (SELECT * FROM tb1 ORDER BY COLMN1)
SELECT ~~ FROM T;