본문 바로가기
국비/SQL

INLINE VIEW 와 ROWNUM

by haheaven 2021. 9. 14.

INLINE VIEW

  1. FROM 절에서 사용하는 서브쿼리
  2. FROM 절에서 사용하는 서브쿼리의 결과는 테이블인 경우가 대부분이다.
  3. FROM절에서 사용한 서브쿼리의 SELECT절에 있는 칼럼들만 메인쿼리에서 사용할 수 있다.

   ex.   SELECT 칼럼1, 칼럼2

         FROM (SELECT 칼럼1, 칼럼2 FROM 테이블명); ⇒ 칼럼1, 칼럼2 완벽일치

 

  4. 메인쿼리에서 정렬과 별명 사용을 위해 서브쿼리에 대부분 별명을 붙인다.

→ 정렬은 쿼리 실행 순서가 가장 마지막이기 때문에 인라인뷰를 사용하여 정렬 순서를 앞으로 옮김

→ SELECT절에 칼럼 별명을 주는 인라인뷰를 넣어, WHERE(조건)절에서 칼럼 별명을 사용할 수 있게 만듦

(**오라클 조회 순서 FROM → WHERE → SELECT )

 

 


ROWNUM

: 해당 행의 조회 번호

 

 

  1. 조회 번호 1을 포함하는 범위는 조회 할 수 있다.
SELECT ROWNUM 
  FROM 테이블명 
 WHERE ROWNUM = 1; 
 
SELECT ROWNUM
  FROM 테이블명 
 WHERE ROWNUM BETWEEN 1 AND 4;

 

  2. 조회 번호 1을 포함하지 않은 번호 검색은 바로 검색을 못한다

      → ROWNUM 칼럼에 별명을 주어 검색 가능하다.(인라인뷰활용)

      → SELECT 절에서 별명을 주고, WHERE 절에서 사용할 수 없기 때문에 FROM절에서 인라인뷰를 사용하여 가장 먼저 별명을 주고, 메인쿼리의 WHERE 절에서 그 별명을 이용하여 검색한다.)

SELECT a.rn 
  FROM (SELECT ROWNUM AS rn 
          FROM 테이블명 ) a 
 WHERE a.rn = 3;


SELECT a.rn 
  FROM (SELECT ROWNUM AS rn 
          FROM 테이블명 ) a 
 WHERE a.rn BETWEEN 3 AND 5;

'국비 > SQL' 카테고리의 다른 글

PL/SQL_프로시저/트리거/함수  (0) 2021.09.21
SQL_DDL, DML, DCL  (0) 2021.09.08
SQL_DDL  (0) 2021.09.07

댓글