◆ view ◆

- view
  실제로 존재하지 않는 가상의 테이블을 의미함.
  즉, A, B, C, D라는 컬럼을 가진 실제 테이블이 있고,
  이 테이블에서 select의 함수등을 통해 연산처리된 추가적인 컬럼(E)를 만들수 있다면
  출력된 결과를 가상의 테이블, 즉 view로 만들어 사용할 수 있게 한다.


EX)
  jikwon 이라는 테이블의 정보(총 6개의 column)

 

  select 함수를 이용하여 현재나이, 정년퇴직일자, 연봉을 추가로 출력한 결과값

  해당 결과값을 뷰(가상테이블)로 생성

  create or replace view [생성할뷰이름] as

  가상테이블로 만들어진 데이터 확인

 

  이렇게 만들어진 뷰를 대상으로 예를 들어 [정년퇴직일이 2040년 이후인 직원중 연봉이 3000이상인 직원을 검색하라] 라는 문제를 보다 쉽게 해결할 수 있음. 또한, 뷰는 테이블의 정보를 변경하지 않기 때문에 테이블의 정보를 기반으로 구성된 쿼리나 프로그램에는 전혀 영향을 끼치지 않음.

 - 뷰는 sys계정에서 create view 권한을 주어야 테이블 생성 권한을 주는 것처럼 뷰를 생성할 수 있음.
 - create view [생성될뷰이름] as select ~~~ 로도 뷰 생성이 가능하나, 뷰내용의 교체(replace)는
          replace 명령 단독으로 실행되지 않기 때문에, create or replace view 로 사용하는 것을 권장함.
 - 뷰는 테이블과의 구분이 시각적으로 어렵기 때문에 파일명에서 차이를 두는 습관을 기르도록 권장함.
   (ex: tbl_abc / view_abc 등)
 - 뷰는 생성시 alias를 지정해야 정상적으로 생성된다. 다만, 컬럼명에서 함수등이 사용되지 않아 원 컬럼명 그대로
   사용된 경우 alias 지정을 하지 않아도 생성이 가능하다.
 - alias 지정시 각 컬럼명 뒤에 as "~~~"식으로도 가능하나,
   create or replace view (컬럼1, 컬럼2, .....) 식으로 순차 맵핑시켜 생성도 가능하다.


- select * from user_views;
  생성되어 있는 뷰의 소스를 확인할 수 있다.

- drop view [뷰이름]
  생성한 뷰를 삭제한다.

- revoke [회수할 권한] from [사용자명];
  sys 계정 명령어로 권한을 다시 회수할 때 사용하는 명령

- betweeb [X] and [Y]
  X 부터 Y 까지의 데이터.
  예를들어 1번부터 100번까지의 데이터가 있는데, 이중 30~39까지의 데이터를 뽑고싶다면 다음과 같이 사용할 수 있다.
  between 30 and 39  혹은  trunc(현재나이, -1) = 30  혹은  숫자>=30 and 숫자 <=39

 

◆ inline view ◆

 - inline view
   인라인 뷰란, 실제 뷰를 생성하지 않고 SQL 쿼리문 안에서 선언하여 쿼리문 수행시 임시적으로 view를 만들어
   사용하는데 이것을 inline view 라 칭함.

ex)
    inline view 로 사용할 소스

 

    작성한 소스 select 앞과 소스 가장 마지막을 (소스내용)["inline view명";] 를 사용하여 선언한다.

 

    선언한 inline view는 선언한 inline view를 사용할 소스의 from 절에 위치하도록 한다.

 

 

선언한 inline view의 컬럼명은 ["inline view명".inline view컬럼명] 으로 사용한다.
- 선언된 inline view를 사용하여 작성한 쿼리문 역시 다시 inline view를 사용하여 묶을 수 있다.

 

 

 


WRITTEN BY
빨강꼬마

,