ORACLE ROWNUM 사용시 주의

2024. 1. 24. 12:29백엔드/기본

반응형

ROWNUM=1 을 하는순간...
1개를 가지고 ORDER BY 를 한다고 생각하면 된다.

 

하면 안되는 경우

 

SELECT   *

FROM TABLE_A

OUTER APPLY (

     SELECT X, Y, Z 

     FROM TABLE_B

     WHERE TABLE_A.ID = TABLE_B .ID AND ROWNUM  = 1

     ORDER BY ID

) TABLE_Z

 

 

해야되는 경우

SELECT * 

FROM TABLE_A 

OUTER APPLY (

SELECT *

FROM (

     SELECT

    ROW_NUMBER() OVER ( ORDER BY ID DESC ) AS RN

     ,X, Y, Z 

     FROM TABLE_B 

     WHERE TABLE_A.ID = TABLE_B .ID

     ORDER BY ID

)

RN = 1 

) TABLE_Z

                  

반응형

'백엔드 > 기본' 카테고리의 다른 글

CI/CD 란?  (0) 2022.11.22