[SQL] 오라클 ROWNUM + ROW_NUMBER()

2023. 1. 31. 18:05·STUDY/DB SQL
728x90

 

MySQL에 Limit라는 기능이 있는데, 오라클에는 없습니다.

 

하지만 이 기능을 오라클에서 쓰고 싶다면? 

ROWNUM을 사용하면됩니다.

 

ROWNUM

특정 개수만큼 원하는 데이터를 추출하고 싶을 때 사용합니다.

 


 

[예제1]

데이터를 5개만 가져옴 in MySQL

SELECT * FROM demo_table LIMIT 5;

데이터를 5개 이하만큼 가져옴 in Oracle

SELECT * FROM demo_table WHERE ROWNUM <= 5;
 

 

[예제2]

데이터를 1개만 가져옴 in MySQL

SELECT * FROM demo_table LIMIT 1;

데이터를 1개만 가져옴 in Oracle

SELECT * FROM demo_table WHERE ROWNUM = 1;

오라클 ROWNUM + ODER BY 사용법

1. 서브쿼리 

SELECT ROWNUM      
     , x.*   
  FROM ( SELECT a.*            
           FROM emp a           
          ORDER BY a.ename        
        ) x

정렬된 서브쿼리 결과에 ROWNUM 을 매겨야 한다.

 

2. ROW_NUMBER() 함수

ROW_NUMBER() OVER(PARTITION BY [그룹핑할 컬럼] ORDER BY [정렬할 컬럼] [ASC/DESC])

 

ORDER BY 된 결과에 순번을 매길때에는 ROWNUM 보다 ROW_NUMBER() 함수가 더 편하다.

SELECT ROW_NUMBER() OVER(ORDER BY a.job, a.ename) row_num      
     , a.*   
  FROM emp a  
 ORDER BY a.job, a.ename
728x90

'STUDY > DB SQL' 카테고리의 다른 글

[SQL] WHERE 1=1 의미  (0) 2023.02.02
[SQL] SQL 논리 연산자와 연산자 우선순위  (0) 2023.02.01
[MyBatis] 마이바티스 세미콜론 ; 오류  (0) 2023.01.30
[Oracle] SQL Developer 다운로드 와 SQL 워크시트 만들기  (0) 2023.01.27
[Oracle] Oracle DB, SQL Developer 설치 후 테이블 만들기  (0) 2022.09.15
'STUDY/DB SQL' 카테고리의 다른 글
  • [SQL] WHERE 1=1 의미
  • [SQL] SQL 논리 연산자와 연산자 우선순위
  • [MyBatis] 마이바티스 세미콜론 ; 오류
  • [Oracle] SQL Developer 다운로드 와 SQL 워크시트 만들기
ReCode.B
ReCode.B
404 Brain Not Found
  • ReCode.B
    B의 개발 공부 기록
    ReCode.B
  • 전체
    오늘
    어제
  • 공지사항

    • 개인적 기록을 위한 블로그
    • 분류 전체보기 (679)
      • STUDY (527)
        • for Developer (25)
        • WEB (24)
        • HTML5 CSS3 (22)
        • JavaScript (102)
        • jQuery (30)
        • TypeScript (1)
        • JAVA (102)
        • SpringLegacy (46)
        • SpringBoot (41)
        • Vert.x (5)
        • DB SQL (86)
        • SERVER OS (34)
        • React (4)
        • C C++ C# (2)
        • EXCEL (3)
      • TOOL (66)
        • VCS (30)
        • Eclipse (23)
        • intelliJ (7)
        • VSCODE (6)
      • Programmers (31)
        • java (10)
        • javascript (15)
        • oracle (6)
      • Follow Work (54)
        • SpringbootBoard (54)
  • 블로그 메뉴

    • 방명록
  • hELLO· Designed By정상우.v4.10.0
ReCode.B
[SQL] 오라클 ROWNUM + ROW_NUMBER()
상단으로

티스토리툴바