뷰 (VIEW)
"가상 테이블”
하나 이상의 테이블을 조회하는 SELECT 문을 저장한 객체
물리적으로 저장되는 테이블이 아니라, 논리적으로만 기존의 테이블들의 조회결과를 정의된다.목적
1.
편리성 : 쿼리의 복잡도를 줄이기 위해서
2.
보안성 : 민감한 정보에 대한 노출을 방지하기 위해서(주민번호, 비밀번호)
뷰 생성
CREATE [OR REPLACE] VIEW 뷰이름 (컬럼1, 컬럼2, 컬럼3, ... )
AS ( SELECT 문 );
SQL
복사
뷰 삭제
DROP VIEW 뷰이름;
SQL
복사
예시 코드
•
사원번호, 직원명, 부서번호, 부서명, 이메일, 전화번호, 주민번호, 입사일자, 급여, 연봉을 조회하는 뷰를 생성하시오.
CREATE OR REPLACE VIEW VE_EMP_DEPT AS
SELECT e.emp_id
,e.emp_name
,d.dept_id
,d.dept_title
,e.email
,e.phone
-- 주민등록번호
,RPAD( SUBSTR(emp_no, 1, 8), 14, '*' ) emp_no
-- 입사일자
,TO_CHAR( hire_date, 'YYYY.MM.DD' ) hire_date
-- 급여
,TO_CHAR( salary, '999,999,999' ) salary
-- 연봉
,TO_CHAR( (salary + NVL( salary*bonus, 0)) * 12, '999,999,999,999') yr_salary
FROM employee e
LEFT JOIN department d ON (e.dept_code = d.dept_id)
;
SQL
복사
•
뷰 조회
SELECT *
FROM VE_EMP_DEPT;
SQL
복사





