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
- R
- sklearn
- level 2
- 실습
- 오라클
- Kaggle
- pandas
- 알고리즘
- matplotlib
- 실기
- 프로그래머스
- SQL
- oracle
- 카카오
- level 1
- 데이터 분석
- python3
- 코딩테스트
- Oracel
- 빅분기
- Python
- 파이썬
- 머신러닝
- Numpy
- 튜닝
- 빅데이터 분석 기사
- seaborn
Archives
- Today
- Total
라일락 꽃이 피는 날
[Oracle] View (뷰) 본문
728x90
View (뷰)
테이블과 비슷하지만 데이터를 저장하고 있지는 않고 select 문으로 데이터를 검색하는 결과를 출력하는 db_object
뷰를 사용했을 때의 장점
1. 보안상의 이유로 민감한 데이터를 노출시키고 싶지 않을 때
2. 복잡한 쿼리문을 간단하게 쿼리하고 싶을 때
뷰의 종류
단순 view | 복합 view | |
테이블의 개수 | 1개 | 2개 이상 |
함수 포함 여부 | 포함 안 함 | 포함 |
데이터 갱신 여부 | 갱신됨 | 수정 안 될 수도 있음 |
예제 1. 사원 테이블에서 사원 번호, 이름, 월급을 출력하는 view 생성
create or replace view emp57
as
select empno, ename, sal
from emp;
테이블은 data 를 저장하지만 view 는 데이터를 저장하지 않는다.
view 는 원본 테이블의 일부 데이터를 바라보는 것이다.
예제 2. emp57에서 SCOTT의 월급을 0 으로 수정
update emp57
set sal = 0
where ename = 'SCOTT';
emp57 뷰를 update 했다는 것은 emp57이 바라보는 emp 테이블을 update 했다는 것이다.
view 는 주로 쿼리용으로 쓰이고 insert, update, delete 작업을 수행하는데 잘 사용되지 않는다.
예제 3. 이름과 부서 위치를 출력하는 view 생성
create or replace view emp_dept
as
select e.ename, d.loc
from emp e, dept d
where e.deptno = d.deptno;
예제 4. 직업과 직업별 토탈 월급을 출력하는 view 생성
create or replace view dept_sumsal
as
select job, sum(sal) 토탈
from emp
group by job;
view를 생성할 때 함수나 그룹 함수가 포함되어 있으면 반드시 컬럼 별칭을 사용해야 한다.
뷰 삭제하는 방법
1. 내가 가지고 있는 view 리스트 확인
select * from user_views;
2. view 삭제하기
drop view emp57;
728x90
'프로그래밍 > Oracle' 카테고리의 다른 글
[Oracle] SQL 튜닝 (0) | 2022.06.09 |
---|---|
[Oracle] Index (인덱스) (0) | 2022.06.09 |
[Oracle] 임시 테이블 생성 (0) | 2022.06.09 |
[Oracle] 일반 테이블 생성 (0) | 2022.06.08 |
[Oracle] 계층형 질의문 (0) | 2022.06.07 |