Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 오름차순 정렬
- 버퍼
- 큐
- 백준
- 프로그래머스 풀이
- 스프링부트 도커 배포
- 문자열
- 프로그래머스
- 클라이언트
- 삼각형의 완성조건
- Lv1
- SWEA
- java
- 백준 N과 M 자바
- 자바
- 프로그래머스 문자열 정렬
- COS Pro
- 스프링부트 도커로 배포
- lv2
- Queue
- 알고리즘
- index of
- 이진수 변환
- Programmers
- StringTokenizer
- lv0
- 스택
- 스프링부트 도커
- 프로그래머스 자바
- Stack
Archives
- Today
- Total
mun dev
[Oracle] 뷰(View), 복합 뷰(Complex View) 생성, 사용 본문
뷰(View)
- 사원들의 사원번호, 이름, 월급, 직업, 부서번호를 출력
- 공개하면 안되는 컬럼이 있다면 나머지 컬럼들로만 view를 생성
create view emp_view
as
select empno, ename, sal, job, deptno
from emp
where job = 'SALESMAN';
복합 뷰(Complex View)
- 뷰 생성시 함수나 그룹함수를 작성할 대는 반드시 컬럼 별칭 사용
- 함수나 그룹함수가 포함되어 있다면 복합뷰
create view emp_view2
as
select deptno, round(avg(sal)) 평균월급
from emp
group by deptno;
- 30번 부서번호의 평균 월급을 1567에서 3000으로 변경
- 변경이 되지 않음, 변경이 된다고 해도 실제 테이블의 데이터가 변경되는 것은 아님
- 그룹 함수를 쿼리하는 복합뷰는 수정이 되지 않음
update emp_view2 set 평균월급 = 3000 where deptno = 30;
update emp_view2
- 데이터는 수정이 되지 않지만 복합 뷰의 큰 장점이 있음, 바로 복잡한 쿼리를
단순화
시킬 수 있음
select e.name, e.sal, e.deptno, v.평균월급
from emp e, (select deptno, round(avg(sal)) 평균월급
from emp
group by deptno ) v
where e.deptno = v.deptno and e.sal > v.평균월급;
-- 복합뷰 사용
select e.name, e.sal, e.deptno, v.평균월급
from emp e, emp_view2 v
where e.deptno = v.deptno and e.sal > v.평균월급
뷰(View)의 종류
단순 view | 복합 view | |
테이블 개수 | 1개 | 2개 이상 |
함수 포함 여부 | 포함X | 포함 |
데이터 수정 여부 | 수정 가능 | 수정 불가능 할 수 있음 |
'DB > Oracle' 카테고리의 다른 글
[Oracle] 오라클 제약조건 (UNIQUE) (0) | 2024.02.07 |
---|---|
[Oracle] 오라클 제약조건 Primary key(기본키) (0) | 2024.02.07 |
[Oracle] 시퀀스(Sequence) 생성, 사용, 삭제 (0) | 2024.02.06 |
[Oracle] 날짜형 함수 모음 (ADD_MONTH, LAST_DAY..) (0) | 2024.01.31 |
[Oracle] 숫자형 데이터를 반환하는 문자형 함수 (0) | 2024.01.31 |