뷰
- 뷰는 데이터베이스에서 제공하는 가상의 테이블을 의미한다.
- 뷰를 사용하면 복잡한 쿼리문을 대신할 수 있기 때문에 개발의 용이성을 가질 수 있다.
- 뷰는 뷰를 만들 때 사용한 쿼리문을 저장하는 것이며 뷰를 조회할 때 뷰를 만들 때 사용한 쿼리문이 동작하게 된다.
- 원본 테이블에 로우를 삽입할 경우 뷰에도 로우가 추가 된다.
- create view 뷰이름
as
서브쿼리
ex)
– 사원의 사원번호, 이름, 급여, 근무부서이름, 근무지역을 가지고 있는 뷰를 생성한다.
create view emp_dept_view
as
select a1.empno, a1.ename, a1.sal, a1.deptno, a2.dname
from emp a1, dept a2
where a1.deptno = a2.deptno;
ex)
-- 뷰를 조회
select * from emp_dept_view;
ex)
-- 조인을 사용한 뷰인 경우 뷰를 통한 로우의 삽입은 불가능하다.
insert into emp100_dept100_view (empno, ename, sal, deptno)
values (6000, '김길동', 2000, 10);
create view emp200_view
as
select empno, ename, sal
from emp100;
insert into emp200_view (empno, ename, sal)
values (7000, '박길동', 3000);
select * from emp100;