본문 바로가기
IT/Oracle

오라클 ROWNUM 알아보기

by flatsun 2019. 3. 14.
반응형


이번에는 오라클 ROWNUM에 대해서 알아보자


일단 ROWNUM이란 오라클에서 제공하는 가상의 컬럼인데

첫 행은 1에서부터 시작하며 행 수에 따라 1씩 증가한다


이렇게 삽입하고 출력을 해 보면..

당연히 ROWNUM이 출력이 안 되고


SELECT 문에 ROWNUM을 넣어줘야 출력이 가능하다



이런 식으로 작성을 한 뒤 출력을 해 보면..



출력되는 순서에 따라서 ROWNUM이 1에서부터 7까지 계속 증가하는 것이 보인다


근데 ROWNUM의 용도가 뭐지?


테이블의 전체 행을 조회하지 않고 몇 행 까지만 조회하기를 원할 때 사용하는 것이다

WHERE에 ROWNUM < 4

이런 식으로 조건을 걸어버리면



7행 전체를 조회하는 것이 아니라 3행까지만 조회할 수 있는 것이다


다만 ROWNUM은 사용 시 주의해야할 점이

ORDER BY와 함께 사용하면..



이렇게 뒤죽박죽 쓰레기같은 숫자가 되어 나오는데


이런 식이면 전혀 활용할 수가 없다


즉 ROWNUM은 ORDER BY와 같이 사용할 수 없고

ORDER BY가 있는데 ROWNUM도 사용하려면

ORDER BY는 서브쿼리에서 사용한 후에 사용해야 하는데


서브쿼리란 무엇인가?


SELECT 쿼리 문을 ()로 싸는 것이다!


쿼리문을 보면..


SELECT 문을 ()로 싼 뒤 FROM을 통해 가져오는 것이 보이는데

이렇게 하면 () 안에 있는 쿼리문을 다시 꺼내오는 것이다


아까 ORDER BY와 ROWNUM을 같이 넣어놓으면

ROWNUM 숫자가 개판이 되는 것이 보였는데

이렇게 하면 정렬된 숫자를 기준으로 ROWNUM을 붙여주게 되는 것이다!!



출력을 해 보니 깔끔하게 출력이 잘 되는 것이 보인다


간단하게 정리를 해 보면


ROWNUM은 오라클에서 제공하는 가상의 컬럼이며 지금 출력한 행이 몇번째 행인지를 보여준다

ROWNUM의 용도는 특정 행까지만 조회할 수 있도록 제한을 거는데 사용하며


ORDER BY와 같이 사용할 시 사용할 수 없는 숫자가 나오므로

서브쿼리를 사용하여 ORDER BY를 처리한 후

ROWNUM을 사용한다


반응형

'IT > Oracle' 카테고리의 다른 글

오라클 Union 알아보기  (0) 2019.03.18
오라클 Subquery(서브쿼리) 알아보기  (0) 2019.03.18
오라클 원하는 갯수만 조회하기  (0) 2019.03.13
오라클 CRUD 알아보기  (0) 2019.03.12
오라클 COMMIT, ROLLBACK 알아보기  (0) 2019.03.12

댓글