-- 사원(employee) 테이블에 부서번호 30인 사원들의 뷰 생성하기
create view v_emp
as
select *
from employee
where dno='30';
select * from v_emp;
-- 뷰를 이용하여 부서번호 30인 사원들 중 급여가 500이상인 사원들의 이름 구하기
select * from v_emp where dno >= 500;
-- 사원(employee)테이블에서 평균연봉을 구하는 뷰 생성하기
create view salavg
as
select avg(salary) as salavg
from employee;
select * from salavg;
select * from v_emp ;
select * from salavg;
-- 아래에 있는 sql문장은 update 가 됨
update v_emp
set salary = 2500
where eno='103';
-- 아래에 있는 sql문장은 update 가 안됨 ( 뷰가 집단연산의 결과일경우 뷰를 통한 갱신 연산은 불가능함 : 뷰의 단점)
update salavg
set salavg = salavg+10;
'Programming > SQL' 카테고리의 다른 글
[SQL] 프로시저의 매개변수 / 출력매개변수 (0) | 2020.12.20 |
---|---|
[SQL] 저장프로시저와 사용자정의함수 (0) | 2020.12.18 |
[SQL] 뷰(view) - 인라인 뷰 / with절 (0) | 2020.12.17 |
[SQL] 뷰(view) - 뷰의 개념 / 필요성 / 장단점 / 구문 / 종류 (0) | 2020.12.17 |
[SQL] 인덱스 - 생성 / 삭제 / 종류 ( 고유 / 비고유 / 단일 / 결합 / DESCENDING / 집중 / 비집중 ) (0) | 2020.12.17 |