Day35 - 인라인 뷰

2021. 4. 5. 16:02Oracle 공부

이번에는 인라인 뷰에 대해서 알아 봅시다

 

인라인 뷰

인라인 뷰도 서브쿼리의 한 종류 입니다.

인라인 뷰는 FROM 옆에 위치 합니다. ( 테이블 이름 대신 )

인라인 뷰는 가상의 테이블 이라고 생각하면 됩니다.

인라인 뷰 에서 조회되는 속성(column)들이 테이블(엔티티) 대신해서 들어간다고 생각하면 되겠습니다.

위의 기본 형태를 아래의 인라인 뷰의 형태로 바꿈

 

- rownum ( 행 번호 ) 가 섞이는 문제

정렬과 rownum 을 같이 사용하면, rownum의 번호가 뒤죽박죽이 됩니다.

이 문제를, 인라인 뷰를 사용해서 해결 할 수 있는데요,

인라인 뷰의 내부에서 정렬을 한 후, 바깥 쪽에서 rownum을 사용해주면 됩니다.

 

- 행을 제한해서 조회하기.

rownum을 사용해서 행을 줄여서 조회할 수 있습니다.

where절에 rownum의 조건을 넣어주면 됩니다.

rownum 은 항상 1부터 조회를 해야 합니다. 그런데, rownum이 11 ~ 20 인 행을 조회하고 싶다면?

rownum을 인라인 뷰 안에서 엘리어스(AS)를 사용해서 미리 정의해서 가져온 다음, 인라인 뷰 바깥 쪽에서 별칭을 사용해서 비교를 하면 됩니다.

 

- 예제. 응용 (JOIN 테이블의 위치로 인라인뷰 삽입가능 or 스칼라 쿼리와 혼합해서 사용가능)

- salary가 10000이상인 직원의 이름, 부서명, 부서의 주소, job_title을 출력. salary기준으로 내림차순

이렇게 인라인 뷰에 대해서 알아 보았습니다.

 

고생하셨습니다.