VIEW ( 뷰 ) 란 테이블은 아니지만 SELECT 되어진 결과물을 마치 테이블처럼 보는 것( 간주하는 것 ) 이다. 이 VIEW 에는 두 가지 종류가 존재하는 데, 첫번째는 INLINE VIEW 와 두번째로는 STORED VIEW 가 존재한다. 먼저 , INLINE VIEW 에 대해서 설명하도록 하겠다. INLINE VIEW 는 SELECT 구문을 괄호() 를 쳐서 별칭 (예 : V ) 를 부여한 것을 말한다.
-- 월급등수가 10등 내인 사람들만 호출하고자 할 때
SELECT V . *
FROM
( -- emplooyees 라는 테이블이 있다고 가정해보자 !
-- 또한 employee_id , first_name , last_name, salary , commission_pct 의 컬럼들이 존재한다고 해보자
select employee_id 사원번호
, first_name||' '||last_name "사원명"
, nvl( salary + salary*commission_pct, salary ) as 월급
, rank() over( order by nvl( salary + salary*commission_pct, salary ) desc ) as 월급등수
from employees
) V
WHERE 월급등수 <= 10 ;
다음으로는 STORED VIEW 에 대해서 설명하도록 하겠다. STORED VIEW는 복잡한 SQL ( Structure Query Language == 정형화된 질의어 ) 을 저장하여 SELECT 문 간단하게 사용하고자 할 때 쓰인다. 을 그래서 INLINE VIEW 는 1회성 이고, STORED VIEW 는 언제든지 불러내서 재사용이 가능하다. STORED VIEW를 만드는 방법은 다음과 같다.
-- CREATE OR REPLACE VIEW 뷰명
-- AS
-- SELECT 문장
-- 예시
CREATE OR REPLACE VIEW view_employee
AS
SELECT employee_id as 사원번호 , first_name || ' ' || last_name as 사원명 , department_id as 부서번호
FROM EMPLOYEES ;
-- 해당 구문은 EMPLOYEES 테이블 있고, 사원번호, 사원명, 부서번호 각각의 컬럼이 있다는 가정하에 진행한 것이다.
위와 같이 입력하면, 오라클에서 뷰에 들어가면 뷰명이 VIEW_MONTH_SALARY인 새로운 뷰 (VIEW )가 생겨 있는 것을 볼 수가 있다. 해당 뷰를 누르면, 다음과 같은 창이 뜰 것이다. 그렇다면, 이렇게 만들어지 뷰를 어떻게 이용하는 것인지는 다음 자료를 보면서 이야기하도록 하겠다.
** 오라클에서는 뷰명을 소문자로 저장하더라도 대문자로 저장되는 점을 유의하도록 하자.
SELECT * -- * 은 모두를 보여준다는 것이다.
FROM view_month_salary
WHERE 부서번호 = 60 ;
SELECT *
FROM USER_VIEWS
WHERE view_name = 'VIEW_MONTH_SALARY'
-- 해당 구문은 뷰 중에서 뷰 명이 'VIEW_MONTH_SALARY' 인 것을 SELECT 하겠다는 것이다.
-- 이 경우에 , 소문자를 입력하면 오류가 나타나는 것을 조심해야 한다.
그러면, 지금까지 INLINE VIEW 와 STORED VIEW 에 대해서 알아보았다.
''국비지원'의 시작' 카테고리의 다른 글
오라클 비긴즈 05 ( JOIN ) (0) | 2023.02.10 |
---|---|
오라클 비긴즈 04 ( GROUP BY절 , GROUPING SETS , ROLLUP ) (0) | 2023.02.09 |
오라클 비긴즈 02 ( 기타함수 (CASE WHEN ... 함수 , DECODE 함수 ) ) (0) | 2023.02.06 |
오라클 비긴즈 01 ( SELECT의 처리순서, Null 처리함수) (0) | 2023.02.03 |
자바 비긴즈 15 ( Block , Final , Interface ) (0) | 2023.01.25 |