본문 바로가기
SQL/Oracle

오라클 ROWNUM 개념부터 활용까지

by wakestand 2020. 4. 19.
반응형

오라클에서 조회 컬럼에 ROWNUM을 추가해서

조회된 행이 몇번째 행인지 확인할 수 있는데

ROWNUM은 테이블에 추가하지 않아도 사용이 가능하다

 

다만 ROWNUM을 추가한 상태에서

ORDER BY로 ROWNUM이 아닌 다른 컬럼을 지정 시

ROWNUM이 엉망이 되는 것이 보이는데

 

이런 현상을 막기 위해서는

 

서브쿼리 안에서 ORDER BY를 한 결과를 가지고

ROWNUM을 걸어줘야 한다

 

오라클 서브쿼리 사용방법 및 예제

오라클에서 서브쿼리(Subquery)는 쿼리 안에 쿼리를 넣는다는 말인데 서브쿼리는 SELECT, FROM, WHERE 중 어디에든 올 수 있다 위 스크린샷과 같이 SELECT 쪽에 서브쿼리가 올 경우 스칼라 서브쿼리(Scalar Subqu..

wakestand.tistory.com

이제 정리 및 ROWNUM의 주 활용법들은 아래와 같다

 

ROWNUM이란?

오라클에서 조회된 행이 몇번째 행인지 부여해주는 것

 

ROWNUM을 올바로 사용하기 위해서는?

ROWNUM을 사용한 곳에 ORDER BY를 사용하면 안된다

ORDER BY를 사용해야 한다면

서브쿼리 안에 사용할 것

 

ROWNUM을 역순으로 사용하기 위해서는?

 

ORDER BY ROWNUM DESC

를 넣어주면 된다

 

ROWNUM을 사용해 몇개의 행만 가져오기 위해서는?

 

WHERE ROWNUM BETWEEN 1 AND 3

- ROWNUM이 1~3인 값만 가져오기

 

특정 조건별로 ROWNUM을 걸어주려면?

 

ROW_NUMBER() OVER(PARTITION BY 컬럼, ORDER BY 컬럼)

컬럼 조건별로 ROWNUM 설정

보면 JOB을 가지고 GROUP BY를 한 뒤에

ROWNUM을 붙여준 것 같이 출력되는 것이 보인다

 

오라클 OVER() 개념부터 사용법까지

오라클에서 OVER() 를 사용하면 GROUP BY나 서브쿼리를 사용하지 않고 분석 함수(SUM, MAX, COUNT)과 집계 함수(GROUP BY, ORDER BY)를 사용할 수 있는데 집계 함수 사용 시 서브쿼리가 지나치게 길어지는 것을..

wakestand.tistory.com

반응형

댓글