2021. 4. 5. 16:02ㆍOracle 공부
이번에는 인라인 뷰에 대해서 알아 봅시다
인라인 뷰
인라인 뷰도 서브쿼리의 한 종류 입니다.
인라인 뷰는 FROM 옆에 위치 합니다. ( 테이블 이름 대신 )
인라인 뷰는 가상의 테이블 이라고 생각하면 됩니다.
인라인 뷰 에서 조회되는 속성(column)들이 테이블(엔티티) 대신해서 들어간다고 생각하면 되겠습니다.
위의 기본 형태를 아래의 인라인 뷰의 형태로 바꿈
- rownum ( 행 번호 ) 가 섞이는 문제
정렬과 rownum 을 같이 사용하면, rownum의 번호가 뒤죽박죽이 됩니다.
이 문제를, 인라인 뷰를 사용해서 해결 할 수 있는데요,
인라인 뷰의 내부에서 정렬을 한 후, 바깥 쪽에서 rownum을 사용해주면 됩니다.
- 행을 제한해서 조회하기.
rownum을 사용해서 행을 줄여서 조회할 수 있습니다.
where절에 rownum의 조건을 넣어주면 됩니다.
rownum 은 항상 1부터 조회를 해야 합니다. 그런데, rownum이 11 ~ 20 인 행을 조회하고 싶다면?
rownum을 인라인 뷰 안에서 엘리어스(AS)를 사용해서 미리 정의해서 가져온 다음, 인라인 뷰 바깥 쪽에서 별칭을 사용해서 비교를 하면 됩니다.
- 예제. 응용 (JOIN 테이블의 위치로 인라인뷰 삽입가능 or 스칼라 쿼리와 혼합해서 사용가능)
- salary가 10000이상인 직원의 이름, 부서명, 부서의 주소, job_title을 출력. salary기준으로 내림차순
이렇게 인라인 뷰에 대해서 알아 보았습니다.
고생하셨습니다.
'Oracle 공부' 카테고리의 다른 글
Day36 - 행수정.UPDATE , 행삭제.DELETE (0) | 2021.04.06 |
---|---|
Day36 - 행추가.INSERT , 테이블 복사.CTAS , 복구.ROLLBACK (0) | 2021.04.06 |
Day35 - 스칼라 서브쿼리 (0) | 2021.04.05 |
Day34 - 서브쿼리. 단일 행 서브쿼리. 다중 행 서브쿼리 (0) | 2021.04.02 |
Day34 - JOIN (0) | 2021.04.02 |