[Oracle] 오라클 View(뷰)개발/Oracle2022. 7. 19. 20:07
Table of Contents
반응형
뷰의 정의
- 테이블은 아니지만 select 되어진 결과물을 마치 테이블 처럼 보는것(간주하는 것).
Stored View(저장된 뷰 생성하기)
create or replace view 뷰명 --> 뷰명으로 되어진 view 가 없으면 create(생성)하고,
-- 만약에 뷰명으로 되어진 view 가 이미 존재한다라면 이전에 정의해둔 view를 없애버리고 select 문장으로 replace한다.
select 문장;
- Stored View 를 사용하여 복잡한 쿼리문을 저장한뒤, 꺼내서 간편하게 별칭으로만 사용할 수 있다.
Inline View
- 서브쿼리가 FROM 절에 쓰이면 Inline View라고 한다.
- 전체 테이블을 비교하는 것 보다 테이블의 일부 데이터만을 불러와서, 그 중에서 조건을 따지는 것이 비교하는 횟수가 적다.
Inline View 예제코드
select T.*,
months_between(T.retirement_day, T.hire_date) AS 정년까지근무할개월수,
trunc(months_between(T.retirement_day, T.hire_date)/12) AS 정년까지근무할년수
to_char( trunc(months_between(T.retirement_day, T.hire_date)/12) * T.month_sal, '9,999,999') AS 퇴직금
from
(
select employee_id, ename, jubun, gender, age, month_sal, hire_date,
last_day(
to_date( to_char( add_months(sysdate, (63-age)*12), 'yyyy') ||
case when substr(jubun, 3, 2) between '03' and '08' then '-08-01' else '-02-01' end
,'yyyy-mm-dd')
)
AS RETIREMENT_DAY
from
(
select employee_id
, first_name || ' ' || last_name AS ENAME
, jubun
, case
when substr(jubun, 7, 1) in('1','3') then '남'
else '여'
end AS GENDER
, extract(year from sysdate) - ( to_number( substr(jubun, 1, 2) ) + case when substr(jubun, 7, 1) in('1','2') then 1900 else 2000 end ) + 1 AS AGE
, nvl(salary + (salary * commission_pct), salary) AS MONTH_SAL
, hire_date
from employees
) V
) T;
반응형
'개발 > Oracle' 카테고리의 다른 글
[Oracle] 오라클 서브쿼리(Sub Query) (0) | 2022.07.20 |
---|---|
[Oracle] 오라클 그룹 함수(집계 함수) (0) | 2022.07.20 |
[Oracle] 오라클 문자열,숫자,날짜,기타 함수 총정리 (0) | 2022.07.18 |
[Oracle] 오라클 연산자 (0) | 2022.07.18 |
[Oracle] 오라클 기본과 데이터 형식 (0) | 2022.07.18 |
@Hyuniverse :: 개발스토리
개발을 하며 만났던 문제들과 해결 과정, 공부한 내용 등을 기록합니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!